Mongoose 返回空数组,而 mongodb 终端返回所需的结果



一个查询在MongoDB中给了我所需的结果,而它在猫鼬中返回一个空数组

db.users.aggregate([
{$match:{_id:ObjectId("5d5a8b83352b262670a4d47b")}},
{
$lookup:
{
from: "userclaims",
localField: "_id",
foreignField: "userId",
as: "claims"
}},{
$unwind:"$claims"
}
])

此查询在 MongoDB 终端中执行时,会产生正确的结果

User.aggregate([
{$match:{_id:mongoose.Types.ObjectId("5d5a8b83352b262670a4d47b")}},
{
$lookup:{
from:"UserClaim",
localField:"_id",
foreignField:"userId",
as:"claims"
}
},{
$unwind:"$claims"
}
])
.exec().then((claims)=>{
console.log(claims)
}).catch((err)=>{
console.log(err);
})

这是我用猫鼬编写的代码,它正在记录[].

尝试使用 mongo 集合名称(用户声明(而不是猫鼬模型 $lookup

最新更新