[英]MongoDB count different values in multiple arrays
我想计算一个唯一值出现的频率。 我有多个 arrays 对象如下:
{“值”:“a”,“开始”:0,“结束”:12}
但我只需要 object 的“值”部分,所以我只投影了值,所以我的投影结果看起来像这样,但有多个 arrays:
{“价值”:[{“价值”:“a”},{“价值”:“b”},{“价值”:“b”}]}
我的目标是获得一个包含所有不同值的结果数组,以及它们在所有多个 arrays 中出现的频率:
[{“value”:”a”,”count”:1},{“value”:”b”,”count”:2}]
你可以简单地做:
db.collection.aggregate([
{$unwind: "$values"},
{$group: {_id: "$values.value", count: {$sum: 1}}}
])
看看它在操场上的例子是如何工作的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.