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()
Другие вопросы по тегам