У меня есть следующая коллекция (в формате Json) -
/* 1 */
{
"_id" : NumberLong(1111),
"valueArray" : [
{
"accountNumber" : NumberLong(12345),
"levels" : [
1,
13
]
},
{
"accountNumber" : NumberLong(67890),
"levels" : [
2
]
}
]
}
/* 2 */
{
"_id" : NumberLong(2222),
"valueArray" : [
{
"accountNumber" : NumberLong(33333),
"levels" : [
13,
1
]
},
{
"accountNumber" : NumberLong(33333),
"levels" : [
8
]
},
{
"accountNumber" : NumberLong(44444),
"levels" : [
5
]
}
]
}
Обратите внимание на 2-й документ, в котором accountNumber совпадает (33333).Я хочу объединить их в одну запись.Вывод должен выглядеть следующим образом -
/* 1 */
{
"_id" : NumberLong(1111),
"valueArray" : [
{
"accountNumber" : NumberLong(12345),
"levels" : [
1,
13
]
},
{
"accountNumber" : NumberLong(67890),
"levels" : [
2
]
}
]
}
/* 2 */
{
"_id" : NumberLong(2222),
"valueArray" : [
{
"accountNumber" : NumberLong(33333),
"levels" : [
13,
1,
8
]
},
{
"accountNumber" : NumberLong(44444),
"levels" : [
5
]
}
]
}
Я пробовал несколько подходов $ concatArrays, $ setUnion и т. Д., Но я заканчиваю получать ту или иную ошибку.Даже если я могу получить какой-либо вывод, он не в нужном формате.
Может кто-нибудь, пожалуйста, помогите здесь?