如何获取集合中每个对象被引用的总次数?

时间:2018-10-22 02:02:13

标签: mongodb aggregation-framework grouping

所以我想找到的是每个人放风筝多少次,数据库看起来像这样:

db.data.aggregate([
{"$unwind":"$PERSON.used"},
{"$group":{"_id":"$PERSON.used.registration"}}
]).pretty();

现在我只能使用聚合框架,说我已经设法列出了所有使用过的风筝:

h1

我想要获得的结果将包括风筝的注册及其整体使用次数。

我不确定它的外观,但是我在想什么:  1.以某种方式将所有使用过的阵列对象注册到一个新阵列中,因此它是每个使用风筝的所有时间的一大清单  2.按注册将数组分组,然后使用sum来显示每个组有多少重复项。

1 个答案:

答案 0 :(得分:0)

我要了,哇!

所以,如果有人偶然发现我的问题,那就是答案。

首先展开使用的数组 第二个项目只有注册 第三组具有_id的注册编号并以$ sum计数

db.data.aggregate([
{"$unwind":"$PERSON.used"},
{"$project":{"registration":"$PERSON.used.registration","_id":0}},
{"$group":{"_id":"$registration", "count":{"$sum":1}}}
]);