所以我的数据看起来像这样:
{
_id: 1,
ranking: 5,
tags: ['Good service', 'Clean room']
}
其中每一个都需要进行审核 . 可以有多个评论,排名为5.标签字段最多可以填充4个不同的标签 .
4个标签是:'服务很好','美食','洁净室','需要改进'
我想制作一个MongoDB聚合查询,其中我说'每个排名(1-5)给我每个排名的每个标签的次数 .
所以一个示例结果可能看起来像这样,_id是排名:
[
{ _id: 5,
totalCount: 5,
tags: {
goodService: 1,
goodFood: 3,
cleanRoom: 1,
needImprovement: 0
},
{ _id: 4,
totalCount: 7,
tags: {
goodService: 0,
goodFood: 2,
cleanRoom: 3,
needImprovement: 0
},
...
]
计算每个标签的出现时遇到问题 . 任何帮助,将不胜感激
1 回答
您可以尝试以下聚合 .
要获取键值对而不是数组,可以将
$push
替换为3.6版本的$mergeObjects
.