PyMongo menggunakan ekspresi reguler python asli, dengan cara yang sama seperti shell mongo menggunakan ekspresi reguler javascript asli. Untuk menulis kueri yang setara dengan apa yang telah Anda tulis di shell di atas, Anda akan menggunakan:
db.stuff.find_one({'name': re.compile(username, re.IGNORECASE)})
Perhatikan bahwa ini akan menghindari penggunaan indeks apa pun yang mungkin ada di name
lapangan, namun. Pola umum untuk pencarian atau pengurutan peka huruf besar/kecil adalah memiliki bidang kedua di dokumen Anda, misalnya name_lower
, yang selalu disetel setiap kali name
perubahan (ke versi huruf kecil name
, pada kasus ini). Anda kemudian akan menanyakan dokumen seperti:
db.stuff.find_one({'name_lower': username.lower()})