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

zapytanie bez rozróżniania wielkości liter w mongodb

Załóżmy, że masz dokument zawierający tag pole i chcesz je przeszukać

Tags
{
  tag,
  ...
 }

Pierwsza opcja to użycie regex (ale działa wolno, jak powiedział @RestRisiko):

db.tags.find( { "tag" : { "$regex" : "C#", "$options" : "-i" } })

Drugą opcją jest utworzenie innego pola małymi literami (i najlepiej mongodb):

Tags
{
  tag,
  tagLower,
  ..
}

I użyj find jak zwykle:

db.tags.find( { "tagLower" : "c#"})

Będzie działać szybciej, ponieważ powyższy kod może używać indeksu do wyszukiwania.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mangusta - indeks 2dsphere - howto

  2. Jak wyszukać obiekt według jego identyfikatora ObjectId w konsoli mongo?

  3. Jakie są koszty ogólne Java ORM dla MongoDB

  4. Wykonywanie złączeń w mongodb z trzema kolekcjami?

  5. Jak znaleźć ciągi z dopasowanymi literami w liście/tablicy za pomocą funkcji lambda?