sql >> Databáze >  >> NoSQL >> MongoDB

Mongoose agregátní vyhledávání - Jak filtrovat podle konkrétního ID

Níže můžete použít aggregation s mongodb 3.6 a výše

Stačí použít $match s podřízenou kolekcí stejně jako s nadřazenou kolekcí v první fázi.

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 – co, proč a jak používat Redis jako primární databázi

  2. Schéma modelování pro přátele v mongoose?

  3. MongoDB vnořené vyhledávání se 3 úrovněmi

  4. Získejte data z kolekce b, která není v kolekci a, v dotazu prostředí MongoDB