MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Effizientes Abfragen von MongoDB (über Pymongo) bei Groß- und Kleinschreibung

PyMongo verwendet native reguläre Python-Ausdrücke, genauso wie die Mongo-Shell native reguläre JavaScript-Ausdrücke verwendet. Um die äquivalente Abfrage zu dem zu schreiben, was Sie oben in der Shell geschrieben haben, würden Sie Folgendes verwenden:

db.stuff.find_one({'name': re.compile(username, re.IGNORECASE)})

Beachten Sie, dass dies die Verwendung von Indizes vermeidet, die möglicherweise für name vorhanden sind Feld jedoch. Ein gängiges Muster für die Suche oder Sortierung ohne Berücksichtigung der Groß-/Kleinschreibung besteht darin, ein zweites Feld in Ihrem Dokument zu haben, zum Beispiel name_lower , die immer gesetzt wird, wenn name Änderungen (zu einer kleingeschriebenen Version von name , in diesem Fall). Sie würden dann nach einem solchen Dokument fragen wie:

db.stuff.find_one({'name_lower': username.lower()})