Mongodb怎么实现类似groupby的操作

我使用的是Mongodb的php驱动,https://docs.mongodb.com/php-...
有一个类似groupby的操作,不知怎么写,比如下面有一个集合:

$cities=[
    ['id'=>'xxx','city'=>'深圳','province'=>'广东','province_number'=>'44'],
    ['id'=>'xxx','city'=>'广州','province'=>'广东','province_number'=>'44'],
    ['id'=>'xxx','city'=>'杭州','province'=>'浙江','province_number'=>'33'],
    ['id'=>'xxx','city'=>'南京','province'=>'江苏','province_number'=>'32'],
    ['id'=>'xxx','city'=>'苏州','province'=>'江苏','province_number'=>'32'],
    ['id'=>'xxx','city'=>'成都','province'=>'四川','province_number'=>'51'],
    ['id'=>'xxx','city'=>'绵阳','province'=>'四川','province_number'=>'51'],
];

需求是把里面的provinceprovince_number取出来存入另一个集合中,这两个字段是有重复的,只取一条就可以了,即mysql中的groupby的效果,应该怎么写呢?

阅读 4.1k
2 个回答

db.test.group({key:{'name':true},cond:{'name':'foo'},reduce:function(obj,prev){prev.msum+=obj.marks;},initial:{msum:0}})

这里有具体MongDB&SQL语法对照:
http://forum.foxera.com/mongo...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进