mongodb group用法
程序员文章站
2024-03-11 10:45:07
...
插入数据:
db.test.insert({name:'zs', count:5})
db.test.insert({name:'zs', count:6})
db.test.insert({name:'zs', count:7})
db.test.insert({name:'ls', count:7})
db.test.insert({name:'ls', count:2})
db.test.insert({name:'zs', count:6})
db.test.insert({name:'zs', count:7})
db.test.insert({name:'ls', count:7})
db.test.insert({name:'ls', count:2})
按照name进行分组:
db.runCommand({"group" : { "ns":"test", "key": {"name":true}, "initial":{"count":0}, "$reduce":function(doc, prev){ prev.count+=doc.count } }})
返回结果:
{ "retval" : [ { "name" : "zs", "count" : 23 }, { "name" : "ls", "count" : 14 } ], "count" : 7, "keys" : 2, "ok" : 1 }
另一种查询方法(添加了查询条件):
db.test.group({ cond: {"name":"zs"}, key : {"name" : true}, initial : {"count":0}, reduce : function(doc, prev){ prev.count+=doc.count } })
[ { "name" : "zs", "count" : 18 } ]
上一篇: linux服务器CPU 高的排查过程