sql >> Databasteknik >  >> NoSQL >> MongoDB

Fråga MongoDB (via pymongo) i skiftläge okänsligt effektivt

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()})


  1. NodeJS och MongoDB applikationsautentisering av JWT

  2. Timeout för anslutning för mongodb som använder mongoose

  3. MongoDB C#-drivrutin:Ignorera egendom vid infogning

  4. pymongo update_one(), upsert=Sant utan att använda $-operatorer