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

MongoDB vyhledávání, když cizí pole je pole objektů

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

db.resources.aggregate([
  { "$match": { "type": "FUNC" } },
  { "$lookup": {
    "from": "initiatives",
    "let": { "id": "$_id" },
    "pipeline": [
      { "$match": { "$expr": { "$in": ["$$id", "$ressources.function"] } } },
      { "$unwind": "$ressources" },
      { "$match": { "$expr": { "$eq": ["$ressources.function", "$$id"] } } },
      { "$group": {
        "_id": "$ressources.function",
        "participation_sum": { "$sum": "$ressources.participating" }
      }}
    ],
    "as": "result"
  }}
])



  1. MongoDB - Rozdíl mezi indexem na textovém poli a textovým indexem?

  2. Redis nenačte data z mezipaměti

  3. získání atributů schématu z modelu Mongoose

  4. MongoDB:Aktualizace vnořeného dokumentu