欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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})
  

 

按照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 } ]
 

 

相关标签: mongodb group