Я хочу иметь возможность объединить два документа, эти документы находятся в одной коллекции. Например, вот главный документ.
Один документ
{
"_id" : ObjectId("5640965bb23eec8d218b4a92"),
"agencyID" : "111111",
"paxID" : "22222",
"bookings" : [
{
"bookingID": "213123",
"transactions": [
{
"tranID": "001",
"invoices": [
{
"invNum": "1234145",
"type": "i",
"inv_date": "20140318",
"inv_time": "1642",
"inv_val": NumberLong(81383)
}
],
"tranType": "Car",
"tranDate": "20140318",
"tranTime": "2312",
"opCode": "ge2123",
"pupDate": "20140104",
"advPur": "13"}
]
}
]
}
И я хочу объединить его с таким документом
Документ второй
{
"_id" : ObjectId("5640966ab23eec8d218b4c5a"),
"agencyID" : "22122",
"paxID" : "-14141",
"bookings" : [
{
"bookingID": "452452",
"transactions": [
{
"tranID": "002",
"invoices": [
{
"invNum": "2432422",
"type": "i",
"inv_date": "20141119",
"inv_time": "1407",
"inv_val": NumberLong(20840)
}
]
}
]
}
]
}
Так, например, файл PHP будет объединять документДва«в документ»Один«Так что вместо перезаписи документа»Один«это добавляет еще одно« бронирование »на документ»Ones«текущие бронирования, поэтому, когда слияние завершено документ»Один‘будет иметь бронирование — 213123 & 452452 вместе с остальной информацией о бронировании.
Надеюсь, я объяснил это достаточно хорошо.
РЕДАКТИРОВАТЬ —
Слияние должно выглядеть следующим образом.
{
"_id" : ObjectId("5640965bb23eec8d218b4a92"),
"agencyID" : "111111",
"paxID" : "22222",
"bookings" : [
{
"bookingID": "213123",
"transactions": [
{
"tranID": "001",
"invoices": [
{
"invNum": "1234145",
"type": "i",
"inv_date": "20140318",
"inv_time": "1642",
"inv_val": NumberLong(81383)
}
],
"tranType": "Car",
"tranDate": "20140318",
"tranTime": "2312",
"opCode": "ge2123",
"pupDate": "20140104",
"advPur": "13"}
]
},
{
"bookingID": "452452",
"transactions": [
{
"tranID": "002",
"invoices": [
{
"invNum": "2432422",
"type": "i",
"inv_date": "20141119",
"inv_time": "1407",
"inv_val": NumberLong(20840)
}
]
}
]
}
]
}
Задача ещё не решена.
Других решений пока нет …