我有一个包含单个文档的集合,其中包含许多模型类型。
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":[
]
}
]
我在doc元素内部获得了所有文档内容,但第一级中的其他项是undefined
。
如何仅检索文档的一部分recipes
?