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

Object.keys, jak uzyskać listę kluczy w mongodb

Zapytanie takie jak {"colors.*.prestock" : {$gte:30}} nie jest możliwe zgodnie z SERVER-267 , i wątpię, czy będzie to wspierane w następnych latach.

Najlepszym rozwiązaniem jest zmiana schematu na tablicę:

colors: [
 { "color" : "Green", "instock" : 50, ... },
 { "color" : "Yellow", "instock" : 50, ... },
]

Następnie możesz zapytać

db.foo.find( {"colors.prestock" : {$gte:30}} )

Zauważ, że zwróci to cały obiekt, w tym wszystkie kolory, tj. również te, dla których ograniczenie zapytania nie jest spełnione. Można to rozwiązać za pomocą frameworka agregacji, ale znowu, używając tylko $unwind co wymaga również colors być tablicą.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Wydajność wstawiania zbiorczego w MongoDB dla dużych kolekcji

  2. Uruchamianie zaawansowanych zapytań MongoDB w języku R za pomocą rmongodb

  3. Czy konieczne jest otwieranie połączenia MongoDB za każdym razem, gdy chcę pracować z bazą danych?

  4. MongoDB:Nie można kanonizować zapytania:Projekcja BadValue nie może zawierać kombinacji włączania i wykluczania

  5. MongoDB odpowiednik SQL COUNT GROUP BY