await db.collection('channel').aggregate()
.lookup({
from: 'user',
let: {
channelid: '$_id'
},
pipeline: $.pipeline().match(
_.expr(
$.eq(['$channel', '$$channelid'])
)
).done(),
as: 'usercount'
})
.group({
_id:"_id",
total:$.size("$usercount")
})
.limit(100)
.end()
请教一个问题,我目前有两个表格,表格一渠道channel,表格二user。管理关系是channel里面的_id和user里面chanel关联。我现在需要更新channel里面的统计数据,我想计算返回对应渠道中user数量,更新到channel表中。如果这个能一起行完成很ok,如果不行我想两次操作,第一次操作算出来渠道的数量,然后for更新到chanel里面。
在user表里增加一个channel名,然后对user用group统计,直接完成你上面的统计要求。