从mongo聚合方法计算结果

时间:2014-09-18 19:14:10

标签: mongodb mongodb-query

如何统计mongo shell聚合方法的结果?

是否有比添加

更简单的方法
  

{$组:{_ ID:空,计数:{$总和:1}}}

查询?

例如,我有以下架构:

{
        "_id" : ObjectId("541b2b6813e401118fcf9ec6"),
        "customer" : "Bob",
        "items" : [
                "pear",
                "apple"
        ]
}

我想算一下Bob订购了多少梨(他有多个订单,物品可以包含重复)。我带来了以下查询:

db.orders.aggregate(
[
    {
        $match: {
            "customer": {
                $eq: "Bob"
            }
        }
    },
    {
        "$unwind": "$items"
    },
    {
        $match: {
            "items": {
                $eq: "pear"
            }
        }
    },
    {
        $group: {
            _id: null,
            count: {
                $sum: 1
            }
        }
    }
]
)

回复:

{ "_id" : null, "count" : 1 }

有更简单的方法吗?

1 个答案:

答案 0 :(得分:0)

确定。我发现了2个不同的类似stackoverflow问题:

并且看起来如果没有提到分组,就无法计算结果。