数据结构是,需求Demand中有个sbu字段ref指向业务Sbu。而我要做的是在获取到业务列表的同时获取到每个业务下需求的数量。
直接上代码
db.Demand.aggregate([
{ $group: { _id: '$sbu', count: {$sum: 1} } }
], function(err, result) {
db.Sbu.populate(result, {path: '_id'}, function(err, result) { console.log(err, result);
});
});result如下
[
{ _id: { name: '测试二', _id: 575d2f6f746542c169d12e9b }, count: 1
},
{ _id: { name: '测试', _id: 575d2f6f746542c169d12e9b }, count: 8
},
]而我希望得到
[
{ name: '测试二',
_id: 575d2f6f746542c169d12e9b, count: 1
},
{ name: '测试',
_id: 575d2f6f746542c169d12e9b, count: 8
},
]有否不用上面那样两次query而获取到我希望的数据形式的方法吗?
紫衣仙女
相关分类