@KondakovVladimir

Как правильно использовать функцию aggregate для объединения данных нескольких коллекций?

Всем привет.
Есть несколько коллекций
Пользователи
Члены команд (где есть ссылка на пользователя)
Сообщения команд (где есть ссылка на члена команды)

как правильно собрать pipeline чтобы собрать связанные данные по пользователю
Пользователь
  - члены команд
    - сообщения команд


db['users'].aggregate([
        {"$match":{"chat_id":user.chat_id}},
        {"$lookup":{
            "localField" : "_id",
            "from" : "team_members",
            "foreignField" : "user_id",
            "as":"member" 
        }}])

логика подсказывает что вместо "team_members" надо использовать вложенный pipeline

возможно я загоняюсь и ничего криминального в поэтапном формировании нет (сначала выбрать членов команды, а затем присоединить все что нужно именно к этой коллекции)
  • Вопрос задан
  • 66 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы