Mongoose - запрос для получения всех вложенных документов
Я новичок в mongoose, у меня есть список компаний, и у каждой компании есть свой массив пользователей. Я просто хочу получить с mongoose всех пользователей конкретной компании:
одна компания похожа
{
"_id": "57ffa47f5b70f90831212348",
"name": "mycompany",
"address": "...",
"phone": "...",
"users": [
{
"_id": "57ffa47f5b70f90831212347",
"username": "alpha",
"name": "myname",
"surname": "mysurname",
"password": "..."
}
]
}
Я пробовал с
Company.findOne({
'name': req.user.name
})
.aggregate({$unwind: '$users'})
.exec(
function(err, users) {
if (err) res.status(500).send(err);
res.json(users);
});
но мне не повезло... я не уверен, как правильно использовать агрегат.
1 ответ
Решение
Просто заселите company.users
Company.findOne({
'name': req.user.name
})
.populate('users', 'username name surname')
.exec(
function(err, company) {
if (err) res.status(500).send(err);
res.json(company.users);
});