Найти модель в коллекции мультимоделей, используя мангуста - PullRequest
0 голосов
/ 16 июня 2019

У меня есть коллекция с одним документом, которая содержит много типов моделей.

общий формат 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 (с его потомками), а не другие элементы (ингредиенты, продукты, ..)

Вот что я получу What I get

[  
   {  
      "name":"",
      "tags":[  

      ],
      "_id":"5d042b66e7179a4e4324eac8",
      "ingredients":[ ... ],
      "products":[ ... ],
      "recipes":[ ... ],
      "ingredients_list":[  

      ]
   }
]

Внутри элемента документа я получаю все содержимое документа, но другими элементами на первом уровне являются undefined.

Как я могу получить только одну часть recipes документа?

...