Е, вашата редакция по принцип има отговора. Просто $match
където масивът е празен:
db.getCollection('collA').aggregate([
{ "$lookup": {
"from": "collB",
"localField": "_id",
"foreignField": "_id",
"as": "collB"
}},
{ "$match": { "collB.0": { "$exists": false } } }
])
$exists
тест върху индекса на масива от 0
е най-ефективният начин да попитате в заявка „това масив с елементи в него ли е“.