mongodb group用法

插入数据:

 

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值