sql >> Database >  >> NoSQL >> MongoDB

MongoDB - Equivalent van LEFT JOIN waar één verzameling niet bestaat

Welnu, uw bewerking heeft in principe het antwoord. Gewoon $match waar de array leeg is:

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

De $exists test op de array-index van 0 is de meest efficiënte manier om in een query te vragen "is dit een array met items erin".



  1. MongoDB-CR-verificatie als standaard configureren op MongoDB 3.x

  2. hoe een query te tonen tijdens het gebruik van queryannotaties met MongoRepository met lentegegevens

  3. Retourneer alleen specifieke velden voor een query in Spring Data MongoDB

  4. Wat is de maximale grootte van de MongoDB-batchbewerking?