Mongoose aggregate 能否在统计数目的同时获取到各字段的数据?
数据结构是,需求
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而获取到我希望的数据形式的方法吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这个可以实现一次Query了,但还差数据的形式~
=====
更新:
用
Object.assign
处理一下就好啦