0
我正在使用带mongodb的loopback js。 我有一个产品集合,如:我如何获得每个标签的产品数
{
name:'prod 1',
tags:['tag1','tag3']
},
{
name:'prod 2',
tags:['tag2']
},
{
name:'prod 3',
tags:['tag2','tag3']
}
我需要找到通过标签分组的产品数量,像 预期结果:
{
tag1 : 1,
tag2 : 2,
tag3 : 2
}
我试图做到这一点,如:
productCollection.aggregate(
{$match: {
is_available: true
} },
{$unwind:"$tags"},
{ $group : {
_id:"$tags",
"products" : { "$sum" : 1 }
}
},function(err,totals){});
但上面的分组是基于整个tags
属性而不是每个单独的标签。我错过了什么?我是否需要放松并投影?
你目前的o/p是什么? – notionquest
您的查询已在产生预期结果。我不明白你为什么说它没有产生预期的结果。查询在下面的答案中也没有改变。 – notionquest
[使用mongo跨所有文档计数数组的次数的重复次数](http://stackoverflow.com/questions/34089056/count-array-occurrences-across-all-documents-with-mongo) – styvane