[英]Mongoose populate not working. How to resolve?
我想執行 mongoose 填充,但在下面給出了我的模式時它不起作用。 我該如何解決這個問題? 為什么它不起作用我在 stackoverflow 上使用了很多解決方案,但即使我讀出對我也不起作用的文檔,所有解決方案都不起作用。 現在有人可以幫助我我該如何排序?
授權
const authSchema = mongoose.Schema({
first_name: {
type: String
},
last_name: {
type: String
},
});
const auth = mongoose.model('auth', authSchema);
項目
const teamSchema = mongoose.Schema({
auth_id: {
type: mongoose.Schema.Types.ObjectId,
ref: 'auth'
}
});
const projectSchema = mongoose.Schema({
team: {
type: [ teamSchema ]
}
});
const project = mongoose.model('project', projectSchema);
詢問:
project.find({}).populate(team.$.auth_id).exec((err, result) => {
if(err) rej(err);
res(result);
});
根據文檔,您應該執行以下操作:
project.find({}).populate('team').exec.....
或project.find({}).populate('auth_id').exec.....
如果要過濾特定的auth_id,則條件應位於查找中而不是填充中,顯然填充將接收要填充的鍵名
https://mongoosejs.com/docs/populate.html
希望有幫助
對我來說,貓鼬 6.* 的版本不起作用。 我待了一個小時來探索。
嘗試將您的貓鼬降級到版本 5.*
命令: yarn remove mongoose yarn add mongoose@5.13.14
我認為你需要創建一個虛擬的。 就像是:
userSchema.virtual('car', {
ref: 'Car',
localField: '_id',
foreignField: 'owner',
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.