繁体   English   中英

MongoDB 计算多个 arrays 中的不同值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM