Database
db={"invoices":[{_id:123,order:333}],"notifications":[{_id:345,order:333,state:"SENT",serviceType:"EMAIL",type:"BILLING_INVOICE",invoice:123}]}
Query
db.invoices.aggregate([{$lookup:{from:"notifications",localField:"order",foreignField:"order",as:"notifications"}},{$set:{notifications:{$filter:{input:"$notifications",cond:{$not:{$and:[{$eq:["$$this.serviceType","EMAIL"]},{$eq:["$$this.state","SENT"]},{$eq:["$$this.type","BILLING_INVOICE"]}]}}}}}},{$match:{notifications:[]}}])