さて、あなたの編集には基本的に答えがあります。単に$match
配列が空の場合:
db.getCollection('collA').aggregate([
{ "$lookup": {
"from": "collB",
"localField": "_id",
"foreignField": "_id",
"as": "collB"
}},
{ "$match": { "collB.0": { "$exists": false } } }
])
$exists
0
の配列インデックスでテストします クエリで「これはアイテムを含む配列ですか」と尋ねる最も効率的な方法です。