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: