sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB - Motsvarighet till LEFT JOIN där en samling inte finns

Din redigering har i princip svaret. Helt enkelt $match där arrayen är tom:

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

$exists testa på arrayindexet 0 är det mest effektiva sättet att fråga i en fråga "är detta en array med objekt i den".



  1. Diagnostiserar oväntat redis-serverfel

  2. Redis förslag för val av datatyp

  3. MongoDB BSON-guide

  4. Rails Resque ändra arbetargräns?