2
私はいくつかの集計を行って、そこにいくつの商品があるかに関する統計を取得しています。私はこれまでだいくつかの配管後
:
[
{
topCategory: "Computer",
mainCategory: "Stationary"
},
{
topCategory: "Computer",
mainCategory: "Laptop"
},
{
topCategory: "Computer",
mainCategory: "Stationary"
},
{
topCategory: "Computer",
mainCategory: "Stationary"
},
]
募集出力:これまで
[
{
name: "Computer",
count: 4,
mainCategories: [
{
name: "Laptop",
count: 2
},
{
name: "Stationary",
count: 2
}
]
}
]
マイクエリ:私は知っている
let query = mongoose.model('Product').aggregate([
{
$match: {
project: mongoose.Types.ObjectId(req.params.projectId)
}
},
{ $project: {
_id: 0,
topCategory: '$category.top',
mainCategory: '$category.main',
}
},
]);
私はを使用する必要がありますと$sum
を組み合わせたもの。私は別の方法を試みたが、それを働かせることはできない。この場合
使用グループ '{ \t \t \t $グループ以下のように
topCategory
によってそのグループ:{ \t \t \t \t _id: "$ topCategory"、 \t \t \t \t "count":{$ sum:1}、 mainCategories:{$ push:{name: "$ mainCategory"}} \t \t \t \t} \t \t \t} \t \t} ' –