const dbCmd=db.command;
const $ = db.command.aggregate;
db.collection('post').aggregate()
.lookup({
from:'comment,uni-id-users',
let:{
id:'comment.$_id',
userId:'uni-id-users.$userId'
},
pipeline:[
dbCmd.match(dbCmd.expr($.eq(['comment.$postId','$$id'])))
],
as: 'newResult'
})
在ClintDb场景下通过DbSchema 外键关系联表查询没办法直接过滤掉_id。
采用的aggregate聚合方式手动联表查询。现在发现lookup的时候 from 里面可以通过逗号隔开使用多个集合
但是不知道pipeline做为数组时改怎么写。文档上都是单个$.pipeline() 如果是个数组改怎么写呢?
另外也求鉴定一下 from 里面可以输入多张表吗?
1 个回复
DCloud_uniCloud_CRL
可以使用多个lookup实现