обещать все пн goose найти вернуть неполное значение - PullRequest
0 голосов
/ 09 апреля 2020

Я стараюсь все, чтобы дать обещание l oop сформировать два запроса. Я делаю один запрос, который вызывает другой запрос. Но возвращенные значения будут возвращать только первый запрос. Я не могу объединить эти два. Вот мой код

 exports.beschikbaarheid = function (req, res, next) {
  const { leverancier, start, eind } = req.body;
  Categorie.find({
    leverancier: leverancier,
  })
    .exec()
    .then((result) => {
      return Promise.all(
        result.map(async (record) => {
          const voor = await Voorraad.find({
            categorie: record._id,
          }).exec();
          record.voorraad = voor;
          return record;
        })
      ).then((results) => {
        res.json({
          results,
        });
      });
    })
};

Когда я возвращаю записи, он возвращает только запрос «Категория ie .find». Когда я возвращаю только «voor», он возвращает все значения из «Voorraad» и также по группам из «Категории ie», но значение не связывается с любыми данными из «Категории ie»

1 Ответ

0 голосов
/ 09 апреля 2020

В этом случае вы должны использовать $ lookup . Как то так:

Categorie.aggregate([
  {$match: {leverancier: leverancier}},
  {
    $lookup: {
      from: "voorraads", // collection of model Voorraad
      localField: "_id",
      foreignField: "categorie",
      as: "voorraad"
    }
  }
])
...