0
mongodbでループバックjsを使用しています。各タグの製品数を取得する方法
:{
tag1 : 1,
tag2 : 2,
tag3 : 2
}
は、私はこのようなを達成しようとした:私は、タグごとにグループ化された製品の数を見つけること 期待される結果のようなものを必要とし
{
name:'prod 1',
tags:['tag1','tag3']
},
{
name:'prod 2',
tags:['tag2']
},
{
name:'prod 3',
tags:['tag2','tag3']
}
: は、私のような製品のコレクションを持っています
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