我们说我们有像
这样的文件[
{tags: ['a', 'b', 'c']},
{tags: ['b', 'c', 'd']}
]
我们如何计算每个标签的文档,所以
[
{_id: 'a', count: 1},
{_id: 'b', count: 2},
{_id: 'c', count: 2},
{_id: 'd', count: 1}
]
因为$group
上的正常$tags
会(当然)会产生不同的结果。
答案 0 :(得分:2)
我认为以下查询会为您提供结果。 $unwind
是关键所在。
db.collection_name.aggregate( [ { $unwind : "$tags" },
{ $group : { _id : "$tags", total : { $sum : 1 } } }] )
供参考 - https://docs.mongodb.org/manual/reference/operator/aggregation/unwind/