Это немного сложно для меня, и я не могу понять это. Изначально у меня есть следующая конечная точка:
// @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
, но я не могу заставить ее работать. Буду признателен за помощь здесь