const dbCmd = db.command;
const $ = db.command.aggregate;
db.collection("uni-id-users").aggregate()
.lookup({
from:"uni-id-roles",
let:{
role: "$role"
},
pipeline:$.pipeline().match(dbCmd.expr( $.in(['$role_id',"$$role"]) )
)
// .project({
// role_name:1
// })
// .project({
// _id:0
// })
.done(),
as:"role",
})
.end()
这样直接报错 难道 lookup之前一定要写条件么?
db.collection("uni-id-users").aggregate()
.match({status:0})
.lookup({
from:"uni-id-roles",
let:{
role: "$role"
},
pipeline:$.pipeline().match(dbCmd.expr( $.in(['$role_id',"$$role"]) )
)
// .project({
// role_name:1
// })
// .project({
// _id:0
// })
.done(),
as:"role",
})
.end()
这个可以正常执行 ,我现在是只要求分页 不写这个条件限制 要怎么解决呢 ,我需要多表联合查询 3个表 有什么办法解决吗? 感谢~