MongoDB Aggregate and keep all values while setting an active key MongoDB Aggregate and keep all values while setting an active key mongoose mongoose

MongoDB Aggregate and keep all values while setting an active key


You can try below aggregation

Items.aggregate([  { "$lookup": {    "from": "users",    "let": { "itemsId": "$_id" },    "pipeline": [      { "$match": { "$expr": { "$in": ["$$itemsId", "$items"] }}},      { "$project": { "isActive": { "$literal": true }}}    ],    "as": "items"  }},  { "$addFields": {    "isActive": {      "$ifNull": [{ "$arrayElemAt": ["$items.isActive", 0] }, { "$literal": false }]    }  }},  { "$project": { "items": 0 }}])