如何用完整的对象填充项目数组?
这是我尝试做的事情:
const documentCollection = await DocumentCollection.find({})
.populate({ path: 'items', populate: { path: 'documents', model: 'Document' } });
但是items
中的documentCollection
字段为空。为什么?不知道我在这里错过了什么
这是猫鼬模型:
export const DocumentsCollection = mongoose.model('Document-Collection',
new mongoose.Schema({
name: { type: String },
items: [
{
name: { type: String },
documents: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Document' }],
},
],
})
);
export const Document = mongoose.model( 'Document',
new mongoose.Schema(
{
name: { type: String },
description: { type: String }
},
{ timestamps: { createdAt: 'created_at', updatedAt: 'updated_at' } }
)
);
答案 0 :(得分:1)
尝试一下:
const documentCollection = await DocumentCollection.find({})
.populate('items.documents');
答案 1 :(得分:0)
我认为您错过了documents
中的's'。
const documentCollection = await DocumentCollection.find({})
.populate({ path: 'items', populate: { path: 'documents', model: 'Document' } });