Как я могу указать REGEX и игнорировать регистр:
regex = ".*" + filter + ".*"; config.gThingCollection.find({"name":{"$regex":regex}})
Я хочу, чтобы фильтр не учитывал регистр, как этого добиться?
Попробуйте вместо этого использовать объекты регулярных выражений python.Пимонго правильно их сериализует:
import re config.gThingCollection.find({"name": re.compile(regex, re.IGNORECASE)})
Вы можете использовать параметры регулярного выражения MongoDB в своем запросе.
config.gThingCollection.find({"name":{"$regex":regex, "$options": "-i"}})
Ваш код должен выглядеть следующим образом:
regex = ".*" + filter + ".*"; config.gThingCollection.find({"name":{"$regex":regex, "$options":"i"}})
Ссылка: http://docs.mongodb.org/v2.2/reference/operator/regex/
res = posts.find({"geography": {"$regex": 'europe', "$options": 'i'}}) # if you need use $not import re res = posts.find( {"geography": {"$not": re.compile('europe'), "$options": 'i'}})