我想在嵌套对象内部使用populate()。 填充似乎可以解决某些问题,但它返回[Object]。
对于populate()的更复杂的示例,我找到了很多答案,但是我没有找到解决此问题的任何方法。
这是我从查询中得到的:
User: [{
General: { Name: 'testUsername' },
data: { car_ref: [Object] },
_id: ...
}]
这就是我想要的:
User: [{
General: { Name: 'testUsername' },
data: { car_ref: { Name: 'testCarname' } },
_id: ...
}]
在不填充的情况下调用find()会为我获取我的汽车文档的正确_id。
User: [{
General: { Name: 'testUsername' },
data: { car_ref: 5bfbe82402f3a8354892dbd7 },
_id: ...
}]
这是我对填充函数的调用:
userModel
.find()
.populate({path:"data.car_ref"});
我的模式如下:
userSchema = new mongoose.Schema({
General: { Name: "Testname"}
data: {
car_ref:{
type: mongoose.Schema.Types.ObjectId,
ref: "car"
}
});
carSchema = new mongoose.Schema({
carName: String
});
这是我的车入口的样子:
Car: [{ _id: ..., Name: 'testCarname' }]