MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

kueri case-insensitive di mongodb

Misalkan Anda memiliki dokumen yang berisi tag bidang dan Anda ingin mencarinya

Tags
{
  tag,
  ...
 }

Opsi pertama adalah menggunakan regex (tetapi bekerja lambat seperti yang dikatakan @RestRisiko):

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

Opsi kedua adalah membuat bidang huruf kecil lainnya (dan di mongodb itu cara terbaik):

Tags
{
  tag,
  tagLower,
  ..
}

Dan gunakan find seperti biasa:

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

Ini akan bekerja lebih cepat, karena kode di atas dapat menggunakan indeks untuk pencarian.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana saya bisa menangani persimpangan larik di find({})?

  2. Mendorong item ke array koleksi Mongodb

  3. cara menjalankan kueri hanya baca pada replika sharded yang diatur di mongodb

  4. Otentikasi dengan Spring Security + Spring data + MongoDB

  5. Manipulasi Data Agregasi MongoDb - Objek ke Array