Database

db={tasks:[{_id:ObjectId("5e41877df4cebbeaebec5156"),group:ObjectId("5e41877df4cebbeaebec5146"),fromDate:ISODate("2022-11-04T12:12:43.000Z"),toDate:ISODate("2022-12-17T12:12:43.000Z"),active:true},{_id:ObjectId("5e41877df4cebbeaebec5155"),group:ObjectId("5e41877df4cebbeaebec5145"),fromDate:ISODate("2022-12-03T12:12:43.000Z"),active:true},{_id:ObjectId("5e41877df4cebbeaebec5154"),group:ObjectId("5e41877df4cebbeaebec5144"),active:true},{_id:ObjectId("5e41877df4cebbeaebec5153"),group:ObjectId("5e41877df4cebbeaebec5143"),active:false},{_id:ObjectId("5e41877df4cebbeaebec5152"),group:ObjectId("5e41877df4cebbeaebec5144"),fromDate:ISODate("2022-12-03T12:12:43.000Z"),active:true},],users:[{_id:ObjectId("5e41877df4cebbeaebec5173"),groups:[ObjectId("5e41877df4cebbeaebec5146"),ObjectId("5e41877df4cebbeaebec5143"),ObjectId("5e41877df4cebbeaebec5144"),ObjectId("5e41877df4cebbeaebec5142")],}],actions:[{_id:ObjectId("5e41877df4cebbeaebec6173"),task:ObjectId("5e41877df4cebbeaebec5156")},{_id:ObjectId("5e41877df4cebbeaebec6174"),task:ObjectId("5e41877df4cebbeaebec5156")}]}

Query

db.users.aggregate([{$match:{_id:ObjectId("5e41877df4cebbeaebec5173")}},{$lookup:{from:"tasks",localField:"groups",foreignField:"group",as:"tasks",pipeline:[{$match:{$and:[{active:true},{$or:[{fromDate:{$exists:false},toDate:{$exists:false}},{$expr:{$and:[{$lte:["$fromDate","$$NOW"]},{$gte:["$toDate","$$NOW"]}]}}]}]}}]}},{$project:{tasks:1,_id:0}},{$unwind:"$tasks"},{$lookup:{from:"actions",localField:"tasks._id",foreignField:"task",as:"actions",}},])

Result