I would like to combine the data in one collection using the IDs of the two arrays.
An example is shown below.
{
"_id": ObjectId ("5976fd2eb0adec0a32fa9831"),
"People": [
{
"user_id": 1, <--- ID
"Name": "Jane",
"age": 12
},
{
"user_id": 2, <--- ID
"Name": "Mark",
"age": 60
},
{
"user_id": 3, <--- ID
"Name": "Tomer",
"age": 100
}
],
"Contents": [
{
"user_id": 2, <--- People ID
"Text": "111"
},
{
"user_id": 1, <--- People ID
"Text": "Hi"
}
]
}
and I want to make the above document as below.
{
"_id": ObjectId ("5976fd2eb0adec0a32fa9831"),
"People": [
{
"user_id": 1,
"Name" : "Jane",
"age": 12
},
{
"user_id": 2,
"Name": "Mark",
"age": 60
},
{
"user_id": 3, <--- ID
"Name": "Tomer",
"age": 100
}
],
"Contents": [
{
"user_id": 2,
"Name": "Mark", <-- Adding
"Text": "111",
},
{
"user_id": 1,
"Name": "Jane", <-- Adding
"Text": "Hi",
}
]
}
I have tried various things like $lookup
or $unwind
of .aggregate()
but I cannot get the result.