sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB:equivalente de LEFT JOIN donde no existe una colección

Bueno, tu edición básicamente tiene la respuesta. Simplemente $match donde la matriz está vacía:

db.getCollection('collA').aggregate([
    { "$lookup": {
      "from": "collB",
      "localField": "_id",
      "foreignField": "_id",
      "as": "collB"
    }},
   { "$match": { "collB.0": { "$exists": false } } }
])

El $exists prueba en el índice de matriz de 0 es la forma más eficiente de preguntar en una consulta "¿es esta una matriz con elementos?".