MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

нечувствителна към регистъра заявка на mongodb

Да предположим, че имате документ, който съдържа tag и искате да търсите в него

Tags
{
  tag,
  ...
 }

Първата опция е да използвате регулярен израз (но работи бавно, както каза @RestRisiko):

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

Втората опция е да създадете друго поле с малки букви (и в mongodb най-добрият начин):

Tags
{
  tag,
  tagLower,
  ..
}

И използвайте find както обикновено:

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

Ще работи по-бързо, защото горният код може да използва индекс за търсене.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Трябва ли да внедря автоматично увеличаване в MongoDB?

  2. MongoDB:locale::facet::_S_create_c_locale името не е валидно

  3. Изпълнение на MongoDB заявки в Map/Reduce

  4. Проекция в заявка на клауза Where на вграден документ в колекция MongoDB с помощта на C#

  5. MongoDB начинаещ - да се нормализира или да не се нормализира?