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 }}])