gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 12:18:42 25 4
gpt4 key购买 nike

我想填充成分列表。是否有可能用填充的成分字段取回数组?如果我只想要 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 docs on population

关于javascript - 如何填充嵌套在 Mongoose 对象数组中的文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61439581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com