MongoAlchemy regex ничего не возвращает
Я тестирую MongoAlchemy для проекта, и я должен искать пользователя по имени.
Я пытаюсь сделать регулярное выражение, но результат запроса всегда пуст.
Я попробовал два метода:
import re
users = User.query.filter({"name":re.compile("/a/", re.IGNORECASE)}).all()
А также:
users = User.query.filter(User.name.regex('/a/', ignore_case=True)).all()
Даже если я использую очень общее регулярное выражение, такое как /.*/, результат всегда будет пустым.
Спасибо.
1 ответ
Решение
В Python регулярные выражения не определены с помощью /regexp/
, это синтаксис JavaScript.
Правильный способ инициализации регулярных выражений:
re.compile(r".*", re.IGNORECASE)
Так что вы должны использовать:
users = User.query.filter({"name": re.compile(r".*", re.IGNORECASE)}).all()