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

Mongoose aggregate Lookup - Как да филтрирате по конкретен идентификатор

Можете да използвате по-долу aggregation с mongodb 3.6 и по-горе

Трябва просто да използвате $match с дъщерната колекция, както правите с родителската колекция в първия етап.

db.BusinessCollection.aggregate([
  { "$match": { "clinics": { "$type": "array" }}},
  { "$lookup": {
    "from": "ClinicsCollection",
    "let": { "clinics": "$clinics" },
    "pipeline": [
      { "$match": {
        "$expr": {
          "$and": [
            { "$in": ["$_id", "$$clinics"] },
            { "$not": { "$eq": ["$_id", 1] }}
          ]
        }
      }}
    ],
    "as": "clinics"
  }}
])


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. как да използвам MongoDB за съхраняване на ejabberd съобщения?

  2. Изпълнение на разширени MongoDB заявки в R с rmongodb

  3. натиснете нова стойност към вътрешния масив на mongodb - mongodb/php

  4. Премахнете всички полета, които са нулеви

  5. Minimongo все още не поддържа $ оператор в прогнози