我想填充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,
},
});
由于字段ingredientsList
是Ingredient
集合中引用文档的数组,因此可以按如下方式使用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文档