Mongodb Query для объединения атрибутов из нескольких документов - PullRequest
1 голос
/ 21 июня 2019

Объединение атрибутов из нескольких документов в mongodb 3.4.6

Я хочу объединить все нижеуказанные документы в 1 документ, имеющий атрибуты ниже ожидаемого ответа. Я использую mongodb 3.4.6

Примечание: я пробовал с $ mergeObjects и не был совместим с версией mongodb 3.4.6.может кто-нибудь подсказать.

Ожидаемый:

{
    "_id": "76778",
    "Colour": "GREY",
"size":"Small"
    "Attr": [{
        "AttrId": 1,
        "AttrText" : "12270"
  },
  {
  "AttrId" : 2, 
  "AttrText": "12271"
    },
    {
        "AttrId": 7,
        "AttrValueId": "44"

    },
    {
        "AttrId": 8,
        "AttrDate": "2009-04-15T01:00:00Z"

    }
    ]

}

исходные документы от mongodb

Doc 1

{ 
    "_id" : "Product_76778", 
    "ProductDesc" : {
        "ProdNo" : "76778", 
        "Colour" : "GREY", 
"size":"Small"

    }, 
    "ProductType" : "SKU", 
    "ProdNo" : "76778", 
    "OrderLevel" : 1
}

Doc 2

{ 
    "_id" : "ProductAttr_76778_2", 
   "ProdNo" : "76778", 
    "AttrId" : 1, 
    "AttrText" : "12270",
    "OrderLevel" : 2    
}

Документ 3

{ 
    "_id" : "ProductAttr_76778_3", 
   "ProdNo" : "76778", 
    "AttrId" : 2, 
    "AttrText" : "12271", 
    "OrderLevel" : 2
}

Документ 4

{ 
    "_id" : "ProductAttr_76778_4", 
    "ProdNo" : "76778",
    "AttrId" : 7, 
    "AttrValueId" : "44", 
    "OrderLevel" : 2

}

Документ 5

{ 
    "_id" : "ProductAttr_76778_5", 
    "ProdNo" : "76778",
    AttrId" : 8, 
    "AttrDate" : "2009-04-15T01:00:00Z", 
    "OrderLevel" : 2
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...