PyMongo bruger native python regulære udtryk, på samme måde som mongo shell bruger native javascript regulære udtryk. For at skrive den tilsvarende forespørgsel til det, du havde skrevet i skallen ovenfor, ville du bruge:
db.stuff.find_one({'name': re.compile(username, re.IGNORECASE)})
Bemærk, at dette vil undgå at bruge ethvert indeks, der findes på name
felt dog. Et almindeligt mønster for versal-ufølsom søgning eller sortering er at have et andet felt i dit dokument, for eksempel name_lower
, som altid indstilles, når name
ændringer (til en version af name
med små bogstaver). , I dette tilfælde). Du vil derefter forespørge efter et sådant dokument som:
db.stuff.find_one({'name_lower': username.lower()})