PyMongo gebruikt native reguliere expressies van python, op dezelfde manier als de mongo-shell native javascript reguliere expressies gebruikt. Om de equivalente query te schrijven van wat u in de bovenstaande shell had geschreven, zou u het volgende gebruiken:
db.stuff.find_one({'name': re.compile(username, re.IGNORECASE)})
Houd er rekening mee dat dit voorkomt dat een index wordt gebruikt die mogelijk bestaat op de name
veld echter. Een veelvoorkomend patroon voor hoofdletterongevoelig zoeken of sorteren is om een tweede veld in uw document te hebben, bijvoorbeeld name_lower
, die altijd wordt ingesteld wanneer name
wijzigingen (naar een versie met kleine letters van name
, in dit geval). U zou dan een dergelijk document willen opvragen als:
db.stuff.find_one({'name_lower': username.lower()})