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

Symbol wieloznaczny MongoDB w kluczu zapytania

Jak zapytano, nie jest to możliwe. Problem z serwerem, do którego się połączyłeś, nadal znajduje się w sekcji „problemy, których nie jesteśmy pewni” .

MongoDB ma pewną inteligencję związaną z wykorzystaniem tablic i myślę, że jest to część złożoności otaczającej taką funkcję.

Wykonaj następujące zapytanie db.foo.find({ 'a.b' : 4 } ) . To zapytanie będzie pasować do następujących dokumentów.

{ a: { b: 4 } }
{ a: [ { b: 4 } ] }

Więc co robi tutaj „dzika karta”? db.foo.find( { a.* : 4 } ) Czy pasuje do pierwszego dokumentu? A co z drugim?

Co więcej, co to oznacza semantycznie? Jak już opisałeś, zapytanie to w rzeczywistości „znajdź dokumenty, w których dowolne pole w tym dokumencie ma wartość 4” . To trochę niezwykłe.

Czy jest jakaś konkretna semantyka, którą próbujesz osiągnąć? Być może zmiana w strukturze dokumentu zapewni żądane zapytanie.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Grupuj według wartości i warunków

  2. Wskazówki dotyczące aktualizacji serwera Percona do MongoDB

  3. Przetłumacz Queryable<T> z powrotem na IMongoQuery

  4. MongoDB Tutorial:Łączenie się z MongoDB w Scala

  5. MongoDB dropIndexes()