PyMongo använder infödda reguljära pythonuttryck, på samma sätt som mongoskalet använder inbyggda reguljära javascriptuttryck. För att skriva motsvarande fråga till det du hade skrivit i skalet ovan skulle du använda:
db.stuff.find_one({'name': re.compile(username, re.IGNORECASE)})
Observera att detta kommer att undvika att använda index som kan finnas på name fältet dock. Ett vanligt mönster för skiftlägesokänslig sökning eller sortering är att ha ett andra fält i ditt dokument, till exempel name_lower , som alltid ställs in när name ändringar (till en version av name med små bokstäver). , I detta fall). Du skulle då fråga efter ett sådant dokument som:
db.stuff.find_one({'name_lower': username.lower()})