MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB - Équivalent de LEFT JOIN où une collection n'existe pas

Eh bien, votre modification a essentiellement la réponse. Simplement $match où le tableau est vide :

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

Le $exists test sur l'index du tableau de 0 est le moyen le plus efficace de demander dans une requête "est-ce un tableau contenant des éléments".