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

mongodb sortowanie i zapytania regex w wydajny sposób

Możesz spróbować utworzyć indeks tekstowy na country_lc , region_lc i city_lc pola:

db.reviews.ensureIndex( { "country_lc": "text" } )
db.reviews.ensureIndex( { "region_lc": "text" } )
db.reviews.ensureIndex( { "city_lc": "text" } )

Wskaźniki tekstowe to nowa funkcja w MongoDB 2.4. Zostały dodane, aby wspierać wyszukiwanie tekstowe treści ciągów w dokumentach kolekcji. Zapoznaj się z oficjalną dokumentacją, aby uzyskać wskazówki dotyczące wydajności.

Co więcej, możesz spróbować przepisać zapytanie jako

db.location.find(
     { "docType": {"$in": [ "country", "region", "city" ]},
       "$or": [
         { "country_lc": /^unit/ },
         { "region_lc": /^unit/ },
         { "city_lc": /^unit/ },
       ]
    }, 
    { "country": 1, "region": 1, "city": 1, "docType" :1 }
   ).sort({ "country_lc" :1, "region_lc": 1, "city_lc":1 })

(Uwaga :To jest lub nie jest odpowiednikiem zapytania, w zależności od struktury dokumentów.)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. jak zapisać dataframe w mongodb za pomocą pyspark?

  2. Mongo db, który nie istnieje, ale pojawia się w połączeniu

  3. Unikalna walidacja Mongoose nie działa. Zapisywanie zduplikowanych wpisów

  4. Znajdź pierwszy element w zagnieżdżonej tablicy, który pasuje do warunków

  5. Bezagentowe monitorowanie bazy danych za pomocą ClusterControl