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

c# pencarian peka huruf besar/kecil mongodb

Pemfilteran pada bidang string di Mongodb peka huruf besar-kecil tanpa menggunakan ekspresi reguler. Mengapa tepatnya Anda tidak dapat menggunakan ekspresi reguler?

Permintaan Anda dapat diedit seperti ini:

var filter = Builders<ME_User>.Filter.And(
Builders<ME_User>.Filter.Regex(u => u.Email, new BsonRegularExpression("/^" + email + "$/i"), 
Builders<ME_User>.Filter.Eq(u => u.Password, password));

Perhatikan tanda "^" dan "$" untuk menentukan pencarian kata yang lengkap dan yang paling penting adalah operator case-insensitive di akhir ekspresi reguler ("/i").

Cara lain adalah pencarian Teks, yang memerlukan pembuatan indeks teks dan tidak peka huruf besar/kecil untuk alfabet latin:http://docs.mongodb.org/manual/reference/operator/query/text/#match-operation

Di C#, Anda akan menggunakan Filter Teks:

var filter = Builders<ME_User>.Filter.And(
Builders<ME_User>.Filter.Text(email), 
Builders<ME_User>.Filter.Eq(u => u.Password, password));

Dengan kueri indeks teks dalam klausa OR, Anda juga perlu membuat indeks pada bidang Kata Sandi, jika tidak, kueri OR akan menghasilkan kesalahan:



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDb dengan FastAPI

  2. Mongodb windows setup admin web console menunggu koneksi pada kesalahan port 28017

  3. MongoDB apa pengguna dan kata sandi default?

  4. Cara memperbaiki MongoError:Tidak dapat menggunakan sesi yang telah berakhir

  5. Kerangka Agregasi MongoDB - Ganti Nama Bidang Dinamis