【问题标题】:Count of the result of a MongoDB aggregate queryMongoDB 聚合查询的结果计数
【发布时间】:2022-03-17 20:49:40
【问题描述】:

写完 MongoDB 聚合命令后,我想快速查看它返回的结果数量。

说,我的查询是这样的:(可能更复杂)

db.zipcodes.aggregate( [{ $group :
                            { _id : "$state" } }])

然后,现在我执行以下操作来获得总数:

 db.zipcodes.aggregate( [{ $group :
                            { _id : "$state" }},
                         {'$group': {_id: null, count: {$sum: 1}}}])

还有其他更快的方法来计算 MongoDB 聚合查询的结果吗?

PS:我刚刚看到一个相关问题:MongoDB Aggregation: How to get total records count?。这方面有什么进展吗?

【问题讨论】:

  • 对于 2.6 之前的 MongoDB 版本,结果总是作为数组返回,在最近的版本中可以选择作为游标返回。因此,通过获取返回的数组的“长度”,这就是您的 robomongo 接口所做的一切。你也可以这样做。
  • 你能告诉我在使用问题中的第一个查询时如何获取数组的长度

标签: mongodb


【解决方案1】:

到目前为止,我发现的一种解决方法是使用 MongoDB GUI,例如 Robomongo。它报告结果的大小。

【讨论】:

    【解决方案2】:
    db.zipcodes.aggregate( [{ $group :
                            { _id : "$state" } },
    {
      $count: "total" 
    } 
    ])
    

    【讨论】:

    • 见“Explaining entirely code-based answers”。虽然这在技术上可能是正确的,但它并没有解释为什么它可以解决问题或应该是选择的答案。我们应该在帮助解决问题的同时进行教育。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-09
    • 2021-10-26
    • 2019-02-03
    • 1970-01-01
    • 2014-10-22
    相关资源
    最近更新 更多