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

MongoDB, wykonanie zapytania za pomocą wyrażenia regularnego na polach indeksowanych

Właściwie zgodnie z dokumentacją,

Jeśli dla pola istnieje indeks, MongoDB dopasowuje wyrażenie regularne do wartości w indeksie, co może być szybsze niż skanowanie kolekcji. Dalsza optymalizacja może nastąpić, jeśli wyrażenie regularne jest „wyrażeniem przedrostkowym”, co oznacza, że ​​wszystkie potencjalne dopasowania zaczynają się od tego samego ciągu. Dzięki temu MongoDB może skonstruować „zakres” z tego prefiksu i dopasować tylko te wartości z indeksu, które mieszczą się w tym zakresie.

http://docs.mongodb.org/manual/reference/operator/query/regex/#index-use

Innymi słowy:

Dla /Jon Skeet/ regex ,mongo w pełni zeskanuje klucze w indeksie, a następnie pobierze pasujące dokumenty, co może być szybsze niż skanowanie kolekcji.

Dla /^Jon Skeet/ regex ,mongo przeskanuje tylko zakres zaczynający się od wyrażenia regularnego w indeksie, co będzie szybsze.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Znajdowanie zduplikowanych wartości w tablicy MongoDB

  2. Błąd podczas łączenia się z MongoDb Atlas Server

  3. Mongodb i MAMP

  4. 5 sposobów na wstawianie dokumentów do MongoDB

  5. Dlaczego Mongoose ma zarówno schematy, jak i modele?