我需要聚集来自这样的记录的所有标签:
https://gist.github.com/sbassi/5642925
(此代码段中有2个样本记录)并按大小排序(首先显示频率更高的标记) . 但我不想考虑具有特定“user_id”的数据(比方说,2,3,6和12) .
这是我的尝试(只是聚合,没有过滤和排序):
db.user_library.aggregate({$ unwind:“$ annotations.data.tags”},{$ group:{_ id:“$ annotations.data.tags”,totalTag:{$ sum:1}}})
我得到了:
{“结果”:[],“确定”:1}
1 回答
现在,您无法展开嵌套在另一个数组中的数组 . 见SERVER-6436
考虑以不同方式构造数据,使用包含该文档的所有标记的数组字段,或者可能展开注释,然后在堆叠展开中展开annotations.data.tags,如下所示: