所以我想找到的是每个人放风筝多少次,数据库看起来像这样:
db.data.aggregate([
{"$unwind":"$PERSON.used"},
{"$group":{"_id":"$PERSON.used.registration"}}
]).pretty();
现在我只能使用聚合框架,说我已经设法列出了所有使用过的风筝:
h1
我想要获得的结果将包括风筝的注册及其整体使用次数。
我不确定它的外观,但是我在想什么: 1.以某种方式将所有使用过的阵列对象注册到一个新阵列中,因此它是每个使用风筝的所有时间的一大清单 2.按注册将数组分组,然后使用sum来显示每个组有多少重复项。
答案 0 :(得分:0)
我要了,哇!
所以,如果有人偶然发现我的问题,那就是答案。
首先展开使用的数组 第二个项目只有注册 第三组具有_id的注册编号并以$ sum计数
db.data.aggregate([
{"$unwind":"$PERSON.used"},
{"$project":{"registration":"$PERSON.used.registration","_id":0}},
{"$group":{"_id":"$registration", "count":{"$sum":1}}}
]);