mongo group功能用于分组全部

时间:2015-10-28 12:01:08

标签: mongodb mongodb-query grouping aggregation-framework

我想对mongodb cond:{condition}group返回的所有文档进行分组。我使用以下代码:

 db.windows.group({
     key: {usages:0},
     cond: {price:{$lt:30}},
     initial: {'counter':0},
     reduce: function(doc,o){ o.counter++ },
     finalize: function(o) { 
         o.usages.forEach(function(use){ o[use] = use})
     } 
 })

但这显然不符合我的要求。有没有办法将all参数传递给key属性?

1 个答案:

答案 0 :(得分:1)

使用.aggregate()代替$group。它使用本机编码运算符而不是JavaScript,并不需要.group()所做的所有“箍跳”:

db.windows.aggregate([
    { "$match": { "price": { "$lt": 30 } } },
    { "$group": {
        "_id": null,
        "count": { "$sum": 1 }
    }}
])

null“_id”上的$group值表示只对从初始$match查询中检索到的所有内容进行分组。 "$sum": 1实际上是一个计数。