У меня есть коллекция с одним документом, которая содержит много типов моделей.
общий формат json:
{
_id: Id;
ingredients: {...};
products: {...};
recipes: {...};
}
Я определил свою схему
var RecipeSchema = new mongoose.Schema({...});
var MenuSchema = new mongoose.Schema({...});
var IngredientSchema = new mongoose.Schema({});
var ProductSchema = new mongoose.Schema({});
Затем модели
var Recipe = mongoose.model('Recipe', RecipeSchema, 'recipes'); // I specify the collection name
var Menu = mongoose.model('Menu', MenuSchema);
var Ingredient = mongoose.model('Ingredient', IngredientSchema);
var Product = mongoose.model('Product', ProductSchema);
module.exports = {
Recipe: Recipe,
Menu: Menu,
Ingredient: Ingredient,
Product: Product
};
Затем я получаю данные
const docs = await models.Recipe.find();
res.json(docs);
В ответ я получаю все данные документа.Я бы просто получил элемент recipes
(с его потомками), а не другие элементы (ингредиенты, продукты, ..)
Вот что я получу
[
{
"name":"",
"tags":[
],
"_id":"5d042b66e7179a4e4324eac8",
"ingredients":[ ... ],
"products":[ ... ],
"recipes":[ ... ],
"ingredients_list":[
]
}
]
Внутри элемента документа я получаю все содержимое документа, но другими элементами на первом уровне являются undefined
.
Как я могу получить только одну часть recipes
документа?