MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB - Еквивалент на LEFT JOIN, където една колекция не съществува

Е, вашата редакция по принцип има отговора. Просто $match където масивът е празен:

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

$exists тест върху индекса на масива от 0 е най-ефективният начин да попитате в заявка „това масив с елементи в него ли е“.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Вземете данни от колекция b, която не е в колекция a в заявка за обвивка на MongoDB

  2. Node + Mongoose:Получаване на последно въведен ID?

  3. Премахнете множество документи от mongo в една заявка

  4. Сортиране без значение от главни букви в MongoDB

  5. Най-добрият начин да извършите пълно текстово търсене в MongoDB и Mongoose