【问题标题】:Aggregate method in MongoDB Compass?MongoDB Compass 中的聚合方法?
【发布时间】:2018-11-18 05:58:01
【问题描述】:

如标题中所述,我在使用聚合方法从 MongoDB Compass 查询时遇到了一些问题。我有一个以这种形式存在的文档集合:

{"Array":[{"field":"val","field2":"val2"},{"field":"val","field2":"val2"},{"field":"val","field2":"val2"},{"field":"val","field2":"val2"},{"field":"val","field2":"val2"},...]}

使用mongo shell或Studio 3T软件我用聚合方法查询,如下示例:

db.collection.aggregate([
     { $match: {"Array.field": "val"}}, 
     { $unwind: "$Array"},
     { $match: {"Array.field": "val"}},
     { $group: {_id: null, count: {$sum:NumberInt(1)}, Array: {$push: "$Array"}}},
     { $project: {"N. Hits": "$count", Array:1}}
])

我在哪里寻找具有字段值 = "val" 的 Array 元素并计算它们。这工作得很好,但我不知道如何在 MongoDB Compass 中做同样的事情

在查询栏中,我有“过滤器”、“项目”和“排序”,我可以进行常规查询,但我不知道如何使用聚合方法。 谢谢

【问题讨论】:

  • 指南针不支持聚合。使用 mongo shell 作为指南针只是一个“探索者”。
  • 如果你不喜欢 mongo shell,那么看看 robomongo.org 。我正在使用 Robo 3T,我发现它对于原型设计/实验非常有用。
  • 我也在使用 Studio 3T,它非常好,但我想尝试 Compass,因为它为查询提供了更多统计信息(我正在对 mongoDB 性能进行大学研究)
  • 我建议尝试 Compass 1.14(目前是测试版),其中包含一个 Aggregation Pipeline Builder
  • @Stennie 谢谢!我去看看!

标签: mongodb aggregate mongodb-compass


【解决方案1】:

您正在查看限制用于查询文档的 文档 选项卡。

查看名为 Aggregations 的第二个选项卡,您可以像往常一样在其中创建聚合管道。

如需更多信息,请访问Aggregation Pipeline Builder 文档。

【讨论】:

  • 为什么这个答案被否决了?正如 Stennie 在上面评论的那样,这在 1.14 版中可用。
  • Aggregation Pipeline Builder 没问题,但我不知道在我完成构建后如何真正运行它。我不敢相信唯一的方法是将它复制到 shell 或从中创建一个视图?!
猜你喜欢
  • 2018-02-15
  • 2021-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 2017-09-03
相关资源
最近更新 更多