Database
db={"users":[{_id:"1",name:"john",department:"IT"},{_id:"2",name:"jane",department:"IT"},{_id:"3",name:"bill",department:"finance"},{_id:"4",name:"Bob",department:"IT"},{_id:"5",name:"Mary",department:"IT"}],"meeting":[{_id:"a",endedAt:100,creator_id:"1",receiver_id:"2"},{_id:"b",endedAt:150,creator_id:"1",receiver_id:"3"},{_id:"c",endedAt:200,creator_id:"4",receiver_id:"2"},{_id:"d",endedAt:250,creator_id:"2",receiver_id:""}]}
Query
db.users.aggregate([{"$match":{department:"IT"}},{"$lookup":{"from":"meeting","localField":"_id","foreignField":"creator_id","as":"meeting_creator"}},{"$lookup":{"from":"meeting","localField":"_id","foreignField":"receiver_id","as":"meeting_receiver"}},{"$match":{"$and":[{"meeting_creator.endedAt":{"$not":{"$gt":175}}},{"meeting_receiver.endedAt":{"$not":{"$gt":175}}}]}},{"$project":{_id:1,name:1,department:1}}])