MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Wyszukiwanie zagnieżdżonej tablicy MongoDB za pomocą $map

Możesz użyć poniższego zapytania.

Kilka rzeczy, które zmieniłem.

1.Brak $elemMatch jest wymagane dla pojedynczych kryteriów. Zamiast tego użyj notacji kropkowej.

2. Przenieś $map podgrupy wewnątrz $map grupy operatora.

[
  {"$match":{
    "empId":"19107",
    "address.country":"AUS",
    "group.primaryGroup.primary":"Y",
    "group.subGroup.primarySubGroup.primary":"Y"
  }},
  {"$project":{
    "empId":1,
    "mobile":1,
    "address":{"$filter":{"input":"$address","as":"d","cond":{"$eq":["$$d.country","AUS"]}}},
    "group":{
      "$map":{
        "input":"$group",
        "as":"v",
        "in":{
          "groupId":"$$v.groupId",
          "primaryGroup":{"$filter":{"input":"$$v.primaryGroup","as":"vp","cond":{"$eq":["$$vp.primary","Y"]}}},
          "subGroup":{
            "$map":{
              "input":"$$v.subGroup",
              "as":"n",
              "in":{
                "subGroupId":"$$n.subGroupId",
                "primarySubGroup":{"$filter":{"input":"$$n.primarySubGroup","as":"mp","cond":{"$eq":["$$mp.primary","Y"]}}}
              }
            }
          }
        }
      }
    }
  }}
]



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak agregować według roku, miesiąca i dnia w innej strefie czasowej

  2. Uwierzytelnianie strategii lokalnej Passport wydaje się działać tylko na hoście lokalnym ze współdzieloną instancją MongoDB

  3. Instalowanie modułu play framework mongodb morphia

  4. Agregacja MongoDB:dodaj pole z osadzonego dokumentu za pomocą dynamicznej ścieżki pola

  5. zmniejsz wartość w kolekcji do 0