const getAllUsers = async (req, res) => {
try {
await User.find({}).populate('place').exec(function(error, data) {
console.log(data.places)
console.log(data)
res.json("ok")
});
} catch (error) {
console.log(error)
res.status(500).send(error)
}
}
user的虚定义是这样的
userSchema.virtual('places',{
ref: "Place",
localField: "id",
foreignField: "creator",
})
当我为一个用户使用findById时,它工作但当我使用find时,它不工作
问题是虚拟的名称不一样。= places
在这里的文档中我可以看到:名称应该是相同的https://mongoosejs.com/docs/populate.html
await User.find({}).populate('place').exec(function(error, data) {
需要修改为:
await User.find({}).populate('places').exec(function(error, data) {