我有一个用户模型:
const userSchema = new Schema({
username: String,
email: String,
_id: generated
})
和项目模型:
const projectSchema = new Schema({
owner: { type: Schema.Types.ObjectId, ref: 'User' },
name: String,
_id: generated
})
我正在使用一个请求来获取所有项目,然后想在每个项目的“所有者”字段中填充相应的用户(甚至更好的是其用户名)
Project.find()
.populate('owner')
.then((allProjects) => {
console.log(allProjects);
res.status(200).json(allProjects);
})
在console.log()中看到的来自find()的响应是一个对象数组,其上的填充似乎没有任何作用:
[{
_id: 4kal5mah5lam6la2lam40am3,
owner: 28eqo29roqi5lqmdka91ma01,
name: Project1
},
{
_id: 0akm40am593na7n4fnau25a,
owner: 85jan5l60oq23la1p07d8q2,
name: Project2
}]
我尝试使用populate调用及其参数进行很多操作,但是没有任何效果。代码运行,只是不填充字段。有什么想法吗?
非常感谢!