sql >> Databáze >  >> NoSQL >> MongoDB

Efektivní dotazování MongoDB (přes pymongo) bez ohledu na velikost písmen

PyMongo používá nativní regulární výrazy pythonu, stejně jako shell mongo používá nativní regulární výrazy javascriptu. K napsání ekvivalentního dotazu k tomu, co jste napsali do shellu výše, byste použili:

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

Všimněte si, že to zabrání použití jakéhokoli indexu, který může existovat v name pole však. Běžným vzorem pro vyhledávání nebo třídění bez ohledu na velikost písmen je mít v dokumentu druhé pole, například name_lower , který je nastaven vždy, když name změny (na verzi name s malými písmeny , v tomto případě). Potom byste se zeptali na takový dokument jako:

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


  1. jak mohu automaticky zvýšit pole v mongodb pomocí kódu Java?

  2. Zkontrolujte, zda v kolekci mongo existuje hodnota

  3. Morphia dotaz s operátorem nebo

  4. Podmíněná sada Redis / pouze aktualizace s nejnovější verzí?