I am having below document in MongoDB [UPDATE : Shortened the document]
{
"sections": [
{
"_id": {
"$oid": "64cbeb62b669cd29a5719a8f"
},
"categories": [
{
"measureValues": [
"64cbeb62b669cd29a5719a95",
"64cbeb62b669cd29a5719a99"
]
}
]
}
],
"measures": [
{
"_id": {
"$oid": "64cbeb62b669cd29a5719a93"
},
"name": {
"64cbeb62b669cd29a5719a92": {
"nodeType": "nodeName",
"value": "measure-1"
}
},
"measureValues": [
{
"_id": {
"$oid": "64cbeb62b669cd29a5719a95"
},
"measureValues": {
"nodeName": {
"64cbeb62b669cd29a5719a94": {
"nodeType": "nodeName",
"value": "measureValue",
"_class": "com.myapp.cqrsdemo.model.DataObj"
}
},
"comment": {
"64cbeb62b669cd29a5719a97": {
"nodeType": "comment",
"value": "this is a comment",
"_class": "com.myapp.cqrsdemo.model.DataObj"
}
}
},
"categoriesIds": [
"64cbeb62b669cd29a5719a91"
],
"measureName": "measure-1"
},
{
"_id": {
"$oid": "64cbeb62b669cd29a5719a99"
},
"measureValues": {
"nodeName": {
"64cbeb62b669cd29a5719a98": {
"nodeType": "nodeName",
"value": "measureValue",
"_class": "com.myapp.cqrsdemo.model.DataObj"
}
},
"date": {
"64cbeb62b669cd29a5719a9b": {
"nodeType": "date",
"value": "2023-02-02",
"_class": "com.myapp.cqrsdemo.model.DataObj"
}
}
},
"categoriesIds": [
"64cbeb62b669cd29a5719a91"
],
"measureName": "measure-1"
}
]
}
],
"_class": "com.myapp.cqrsdemo.model.ProjectGroup"
}
I want to fetch the "measureValues" under "measures" where the id of the "measureValues" is matching with the id of the measureValues under categories. I want to include the measureValue object under categories instead of just the Ids.
How can I do that? I tried writing aggregate pipeline, but it failed.
My Output should look like below.
{
"sections": [
{
"_id": {
"$oid": "64cbeb62b669cd29a5719a8f"
},
"categories": [
{
"measureValues": [
{
"_id": {
"$oid": "64cbeb62b669cd29a5719a95"
},
"measureValues": {
"nodeName": {
"64cbeb62b669cd29a5719a94": {
"nodeType": "nodeName",
"value": "measureValue",
"_class": "com.myapp.cqrsdemo.model.DataObj"
}
},
"comment": {
"64cbeb62b669cd29a5719a97": {
"nodeType": "comment",
"value": "this is a comment",
"_class": "com.myapp.cqrsdemo.model.DataObj"
}
}
},
"categoriesIds": [
"64cbeb62b669cd29a5719a91"
],
"measureName": "measure-1"
},
{
"_id": {
"$oid": "64cbeb62b669cd29a5719a99"
},
"measureValues": {
"nodeName": {
"64cbeb62b669cd29a5719a98": {
"nodeType": "nodeName",
"value": "measureValue",
"_class": "com.myapp.cqrsdemo.model.DataObj"
}
},
"date": {
"64cbeb62b669cd29a5719a9b": {
"nodeType": "date",
"value": "2023-02-02",
"_class": "com.myapp.cqrsdemo.model.DataObj"
}
}
},
"categoriesIds": [
"64cbeb62b669cd29a5719a91"
],
"measureName": "measure-1"
}
]
}
]
}
],
"_class": "com.myapp.cqrsdemo.model.ProjectGroup"
}