Агрегация MongoDb от простых до вложенных документов - PullRequest
0 голосов
/ 04 марта 2019

У меня проблема с MongoDb.Мне нужно вложить документы, но я не могу это сделать.Кто-нибудь может мне помочь?

Ниже моей структуры:

Производитель:

{_id:'2323dewegfwef',
 id:1,
 name:'manufacturer'}

Бренд:

{_id:'234234dsgfwef',
 id:1,
 name:'brand',
 products:[
             {_id:'23423sdfsdf',
              id:1,
              brandId:1,
              manufacturerId:1},

             {_id:'23423sdfsdf',
              id:2,
              brandId:1,
              manufacturerId:1}

           ]

}

Я хотел бы объединить обе коллекции и сделать такой результат:

Производитель:

{_id:345345regsfdg,
 id:1,
 name:'manufacturer',
 brands:[
             {_id:'234234dsgfwef',
              id:1,
              name:'brand1',
              products:[
                        {_id:'23423sdfsdf',
                         id:1,
                         brandId:1,
                         manufacturerId:1},

                        {_id:'23423sdfsdf',
                         id:2,
                         brandId:1,
                         manufacturerId:1}
                        ]
             },
             {_id:'234234dsgfwef',
              id:2,
              name:'brand2',
              products:[
                        {_id:'23423sdfsdf',
                         id:3,
                         brandId:2,
                         manufacturerId:1},

                        {_id:'23423sdfsdf',
                         id:4,
                         brandId:2,
                         manufacturerId:1}
                        ]
             }
       ]

}

Попытка:

db.Manufacturer.aggregate([{$lookup:{from:'Brand',localField:'id',foreignField:'products.manufacturerId',as:'brands'}}])

Я пробовал несколько комбинаций с $ lookup, $ group, $ push $ unwind ..., но я не нашел ключ.

Некоторая помощь?

Спасибо

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