Database
db={companiesCollection:[{_id:"1",name:"Acme"}],licensesCollection:[{_id:"1",companyId:"1",userId:"1"},{_id:"2",companyId:"1",userId:"2"}],usersCollection:[{_id:"1",companyId:"1"},{_id:"2",companyId:"1"},{_id:"3",companyId:"1"},{_id:"4",companyId:"1"},]}
Query
db.usersCollection.aggregate([{$lookup:{from:"licensesCollection",localField:"_id",foreignField:"userId",as:"licensedUsers"}},{$match:{"licensedUsers.0":{$exists:false}}},{$group:{_id:"$companyId",unlicensedUsers:{$push:{_id:"$_id",companyId:"$companyId"}}}},{$lookup:{from:"companiesCollection",localField:"_id",foreignField:"_id",as:"company"}},{$project:{unlicensedUsers:1,company:{"$arrayElemAt":["$company",0]}}},{$project:{unlicensedUsers:1,name:"$company.name"}}])