我有这样的数据:
[
{ _id: ..., class: 'A', name: 'John Doe' },
{ _id: ..., class: 'A', name: 'John Snow' },
{ _id: ..., class: 'B', name: 'Joan Doe' },
...
]
我需要有一个mongoose的聚合数据,结果如下:
[
{ class: 'A', students: [
{ _id: ..., name: 'John Snow' },
{ _id: ..., name: 'John Doe' }
]},
...
]
如何在mongoose中进行聚合?
答案 0 :(得分:0)
汇总管道看起来像这样,
[
{
$group: {
_id:{ class: "$class" },
students:{$push:{_id:"$_id", name:"$name"}}
}
]
我相信猫鼬你会做类似的事情:
Model.aggregate({
$group: {
_id:{ class: "$class" },
students:{$push:{_id:"$_id", name:"$name"}}
})
.exec(callback)