假设我们有这样的文档
[
{tags: ['a', 'b', 'c']},
{tags: ['b', 'c', 'd']}
]
然后我们如何计算每个标签的文档数,所以
[
{_id: 'a', count: 1},
{_id: 'b', count: 2},
{_id: 'c', count: 2},
{_id: 'd', count: 1}
]
因为在 $tags
上执行普通的 $group
会(当然)给出不同的结果。
最佳答案
我认为以下查询将为您提供结果。 $unwind
是这里的关键。
db.collection_name.aggregate( [ { $unwind : "$tags" },
{ $group : { _id : "$tags", total : { $sum : 1 } } }] )
供引用 - https://docs.mongodb.org/manual/reference/operator/aggregation/unwind/
关于javascript - `$group` 按数组中的唯一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33570359/