Ответ 1
Попробуйте вместо этого использовать объекты regex python. Pymongo будет сериализовать их правильно:
import re
config.gThingCollection.find({"name": re.compile(regex, re.IGNORECASE)})
Как я могу указать REGEX и игнорировать случай:
regex = ".*" + filter + ".*";
config.gThingCollection.find({"name":{"$regex":regex}})
Я хочу, чтобы фильтр был нечувствительным к регистру, как это сделать?
Попробуйте вместо этого использовать объекты regex python. Pymongo будет сериализовать их правильно:
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'}})