如何在Mongoose中填充嵌套在对象数组中的文档



我想填充ingredientsList。有可能用填充的成分字段重新获得数组吗?如果我只想从含有填充成分的配料列表中选择一个对象,我该怎么做?

希望你能帮忙:(

我的模式如下:

export const RecipeSchema = new Schema({
name: {
type: String,
required: 'Enter a name',
},
ingredientsList: [
{
ingredient: {
type: Schema.Types.ObjectId,
ref: 'Ingredient',
},
value: {
type: Number,
default: 1,
},
},
],
});

我的成分模型如下:

export const IngredientSchema = new Schema({
name: {
type: String,
required: 'Enter a name',
},
created_date: {
type: Date,
default: Date.now,
},
amount: {
type: Number,
default: 1,
},
});

由于字段ingredientsListIngredient集合中引用文档的数组,因此可以按如下方式使用model.populate()

const recipes = await Recipe.find().populate('ingredientsList');
res.send({ data: orders });

这将返回所有的Recipes,并扩展或填充每个ingredientsList

假设您只想在ingredientsList中填充每个文档的name字段,具体操作如下:

const recipes = await Recipe.find().populate('ingredientsList', 'name');
res.send({ data: orders });

这将返回所有Recipes,但仅填充每个ingredientsList上的name字段。

关于种群的Mongoose文档

最新更新