Ayi*_*jla 4 mongoose mongodb mongodb-query aggregation-framework
当我在集合中使用 $lookup 时,我得到以下错误的输出
这是输出:
{"_pipeline":[{"$project":{"fulldetails":{"$concat":["$associate_name"," ","$associate_no"]},"outlets":"$outl"}},{"$lookup":{"from":"outlets","localField":"_id","foreignField":"associate_id","as":"outl"}}],"options":{}}
Run Code Online (Sandbox Code Playgroud)
这是查询
var data=Associate.aggregate([{
$project: {
"fulldetails": {
$concat: ["$associate_name", " ", "$associate_no"]
},
"outlets": "$outl"
}
}, {
$lookup: {
from: "outlets",
localField: "_id",
foreignField: "associate_id",
as: "outl"
}
}])
Run Code Online (Sandbox Code Playgroud)
提前致谢
外部字段和本地字段的类型必须相同,只有 $lookup 才能工作
在你的情况下
本地字段是_id
外部字段是Associate_id
如果 _id 是 ObjectID 并且 Associate_id 是 ObjectID 那么只有它才有效
如果 _id 是 String 并且 Associate_id 是 String 那么只有它才有效
如果 _id 是 ObjectID 并且 Associate_id 是 String 那么它将不起作用
如果 _id 是 String 并且 Associate_id 是 ObjectID 那么它将不起作用