这里我有一系列重复的东西
[ 'gg', 'bb', 'dd', 'cc', 'll', 'aa', 'cc', 'gg', 'bb', 'dd', 'cc', 'bb', 'dd', 'll', 'aa', ]
我愿意这样回去
{ 'gg': 2, 'bb': 3, 'dd': 3, 'cc': 2, 'll': 2, 'aa': 2, }
可以用MongoDB聚合完成吗???感谢你的帮助
使用 $unwind 和 $group 作为聚集哌比利的阶段: 查询:
db.collection.aggregate([ { $unwind: "$items" }, { $group: { _id: "$items", count: { $sum: 1 } } } ])
结果:
{ "_id": "ll", "count": 2 }, { "_id": "gg", "count": 2 }, { "_id": "bb", "count": 3 }, { "_id": "cc", "count": 3 }, { "_id": "aa", "count": 2 }, { "_id": "dd", "count": 3 }