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);
        });
Другие вопросы по тегам