I have a aggregation pipeline that currently returns example list:
[
{
"_id": "5b527a2bfadb811c4869e802",
"tasks": [
{
"done": false,
"_id": "5b53494987eea4171d199dd3"
},
{
"done": false,
"_id": "5b53495087eea4171d199dd4"
},
{
"done": false,
"_id": "5b53495987eea4171d199dd5"
}
],
"doneTasks_ids": [
"5b53494987eea4171d199dd3",
"5b53495087eea4171d199dd4"
]
},
{
"_id": "5b527a2ffadb811c4869e803",
"tasks": [
{
"done": false,
"_id": "5b53496b87eea4171d199dd6"
},
{
"done": false,
"_id": "5b53497287eea4171d199dd7"
}
],
"doneTasks_ids": [
"5b53497287eea4171d199dd7"
]
}
]
Now I want to set done flag for each tasks.done element to true only when the tasks._id is present in doneTasks_ids.
I'm pretty sure I should use $map and $in operators, however I'm currently not able to achieve the effect I need.
Any help is greatly appreciated