i am new to mongodb, and this issue make me feel confuse and i have no idea how to do so. Heres 3 documents example in mongodb collection.
I tried multiple way but still not success, can any one help with following sample? Does it really possible to do so with mongodb aggregation pipeline? The key consider which should merge are machine number, model and license numer[
{
"INFO": "A",
"MACHINE": [
{
"NUMBER": "0001",
"MACHINE_MODEL": "A001"
},
{
"NUMBER": "0002",
"MACHINE_MODEL": "A002"
}
],
"LICENSE": [
{
"NUMBER": "1111"
},
{
"NUMBER": "2222"
}
]
},
{
"INFO": "B",
"MACHINE": [
{
"NUMBER": "0001",
"MACHINE_MODEL": "A001"
}
],
"LICENSE": [
{
"NUMBER": "1111"
}
]
},
{
"INFO": "C",
"MACHINE": [
{
"NUMBER": "0002",
"MACHINE_MODEL": "A002"
}
],
"LICENSE": [
{
"NUMBER": "2222"
}
]
},
{
"INFO": "D",
"MACHINE": [
{
"NUMBER": "0001",
"MACHINE_MODEL": "A001"
},
{
"NUMBER": "0003",
"MACHINE_MODEL": "A003"
}
],
"LICENSE": [
{
"NUMBER": "1111"
},
{
"NUMBER": "3333"
}
]
},
{
"INFO": "GG",
"MACHINE": [
{
"NUMBER": "9999",
"MACHINE_MODEL": "A999"
}
],
"LICENSE": [
{
"NUMBER": "42069"
}
]
}
]
How can I merge/group this as below result with aggregation and output in new collection:
[
{
"INFO": [
"A",
"B",
"C",
"D"
],
"MACHINE": [
{
"NUMBER": "0001",
"MACHINE_MODEL": "A001"
},
{
"NUMBER": "0002",
"MACHINE_MODEL": "A002"
},
{
"NUMBER": "0003",
"MACHINE_MODEL": "A003"
}
],
"LICENSE": [
{
"NUMBER": "1111"
},
{
"NUMBER": "2222"
},
{
"NUMBER": "3333"
}
]
},
{
"INFO": "GG",
"MACHINE": [
{
"NUMBER": "9999",
"MACHINE_MODEL": "A999"
}
],
"LICENSE": [
{
"NUMBER": "42069"
}
]
}
]