mongodb - 统计 mongo 聚合方法的结果

标签 mongodb mongodb-query

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

有没有比添加更简单的方法

{$group:{_id:null,count:{$sum: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 }

有没有更简单的方法?

最佳答案

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

而且看起来如果不提到分组就无法计算结果。

关于mongodb - 统计 mongo 聚合方法的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25920632/

相关文章:

node.js - 通过 mongoose 更新不带 ObjectId 的条目

mongodb - 删除除第一个索引之外的 mongodb 数组键

node.js - 如何在 MongoDB Node App 中启用审计和记录所有 CRUD 操作?

java - 有没有一种方法可以使用 MongoDB/Java 将 BasicDBObject 渲染到 Map<String,String> 中?

node.js - 在 Mongoose 中保存对象后如何获取 objectID?

python - 将 SQL 查询转换为 mongo 查询

mongodb - 如何将 mongodb ISODate 转换为 mongoDB 中的字符串?

javascript - 如何使用 Mongoose 计算每个国家/地区的重复项数量?

javascript - 如何通过条件嵌套对象数组来检索文档?

mongodb - 合并 2 个单独的结果 mongodb