MongoDB Compass 中的聚合方法?

And*_*ani 7 aggregate mongodb mongodb-compass

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

{"Array":[{"field":"val","field2":"val2"},{"field":"val","field2":"val2"},{"field":"val","field2":"val2"},{"field":"val","field2":"val2"},{"field":"val","field2":"val2"},...]}
Run Code Online (Sandbox Code Playgroud)

使用 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}}
])
Run Code Online (Sandbox Code Playgroud)

我在其中查找具有字段值 = "val" 的 Array 元素并对其进行计数。这很好用,但我不知道如何在 MongoDB Compass 中做同样的事情 在此处输入图片说明

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

San*_*ero 6

您正在查看“文档”选项卡,该选项卡仅限于查询文档。

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

有关更多信息,请访问聚合管道生成器文档。

  • 聚合管道构建器还可以,但我不知道构建完成后如何真正运行它。我不敢相信唯一的方法是将其复制到 shell 或从中创建视图?! (15认同)