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

MongoDB - Znajdź dokumenty spełniające określony warunek dla nieznanych kluczy pól

Musisz zacząć od $objectToArray dynamicznie odczytywać klucze. Następnie możesz $map właściwości wraz z $anyElementTrue aby wykryć, czy jest jakieś zagnieżdżone pole w thing zawierające {"attribute1":"typeC"} :

db.collection.aggregate([
    {
        $match: {
            $expr: {
                $anyElementTrue: {
                    $map: {
                        input: { $objectToArray: "$thing" },
                        in: { $eq: [ "$$this.v.attribute1", "typeC" ] }                         
                    }
                }
            }
        }
    }
])

Plac zabaw Mongo



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak skonstruować i przekazać dokument bson - Go lang?

  2. Spring Data Mongo Query do zapytania z wieloma polami i powrotu w jednym wywołaniu

  3. Błąd krytyczny:nie znaleziono klasy „MongoDB\Driver\Manager”

  4. Odpowiednik opcji mongo's out:reduce w hadoop

  5. Najnowocześniejsze zarządzanie bazami danych:ClusterControl — przewodnik