Database
db={actions:[{_id:ObjectId("56e9b39c732b6122f878f882"),task:ObjectId("5a934e000102030405000003"),active:true},{_id:ObjectId("56e9b39c732b6122f878f883"),task:ObjectId("5a934e000102030405000004"),active:true},{_id:ObjectId("56e9b39c732b6122f878f884"),task:ObjectId("5a934e000102030405000005"),active:false},{_id:ObjectId("56e9b39c732b6122f878f885"),task:ObjectId("5a934e000102030405000003"),active:true},],tasks:[{_id:ObjectId("5a934e000102030405000003"),active:true,group:ObjectId("5a934e00010203040500000a")},{_id:ObjectId("5a934e000102030405000004"),active:false,group:ObjectId("5a934e00010203040500000a")},{_id:ObjectId("5a934e000102030405000005"),active:true,group:ObjectId("5a934e00010203040500000a")},{_id:ObjectId("5a934e000102030405000007"),active:true,group:ObjectId("5a934e00010203040500000b")},]}
Query
db.tasks.aggregate([{$match:{group:ObjectId("5a934e00010203040500000a"),active:true}},{$lookup:{from:"actions",let:{id:"$_id",},as:"actions",pipeline:[{$match:{$and:[{active:true},{$expr:{$eq:["$task","$$id"]}}]}},{$project:{_id:1}}]}},{$match:{"actions.0":{$exists:true}}},{$unset:"actions"}])