MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

MongoDB - Equivalente a LEFT JOIN onde não existe uma coleção


Bem, sua edição basicamente tem a resposta. Simplesmente $match onde a matriz está vazia:
db.getCollection('collA').aggregate([
    { "$lookup": {
      "from": "collB",
      "localField": "_id",
      "foreignField": "_id",
      "as": "collB"
    }},
   { "$match": { "collB.0": { "$exists": false } } }
])

O $exists teste no índice do array de 0 é a maneira mais eficiente de perguntar em uma consulta "este é um array com itens nele".