Welnu, uw bewerking heeft in principe het antwoord. Gewoon $match
waar de array leeg is:
db.getCollection('collA').aggregate([
{ "$lookup": {
"from": "collB",
"localField": "_id",
"foreignField": "_id",
"as": "collB"
}},
{ "$match": { "collB.0": { "$exists": false } } }
])
De $exists
test op de array-index van 0
is de meest efficiënte manier om in een query te vragen "is dit een array met items erin".