Как выполнить несколько запросов к различным моделям MongoDB в одной Express конечной точке? - PullRequest
0 голосов
/ 31 марта 2020

Это немного сложно для меня, и я не могу понять это. Изначально у меня есть следующая конечная точка:

// @route   GET api/users/:search
// @desc    Get users
// @access  Private
router.get("/:search", auth, async (req, res) => {
  try {
    const query = req.params.search;
    const users = await User.find({
      name: { $regex: query }
    })
      .select("name")
      .populate("users", ["name"]);
    res.json(users);
  } catch (err) {
    console.error(err.message);
    res.status(500).send("Server Error");
  }
});

module.exports = router;

Это возвращает следующий ожидаемый массив:

[{
    "_id": "5e823fb23bd63b0017e5b95e",
    "name": "Name Surname 1"
}, {
    "_id": "5e824aa34751830017db3ab8",
    "name": "Name Surname 2"
}]

Однако у меня есть другая коллекция с именем Documents, из которой мне нужно выбрать поле называется status. _id пользователя также находится в модели Documents. Окончательный ожидаемый результат должен быть:

[{
    "_id": "5e823fb23bd63b0017e5b95e",
    "name": "Name Surname 1",
    "status": true
}, {
    "_id": "5e824aa34751830017db3ab8",
    "name": "Name Surname 2",
    "status": true
}]

Как выполнить sh это в том же GET-запросе? Я предполагаю, что должен принести модель Documents и для каждого результата запроса User выполнить операцию .find () с помощью _id, но я не могу заставить ее работать. Буду признателен за помощь здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...