Оператор $regex в MongoDB позволяет выполнять поиск строк по шаблону с использованием регулярных выражений, обеспечивая гибкий и мощный поиск текста в полях со строками.
db.collection.find({ field: { $regex: /pattern/flags } })
Ты также можешь использовать строковую форму с явным флагом $options:
db.users.find({ email: { $regex: "@gmail\\.com$", $options: "i" } })
i$optionsi – поиск без учёта регистраm – поиск в многострочном режимеx – позволяет использовать комментарии и пробелы в шаблонеs – позволяет . совпадать с символами новой строкиdb.users.find({ email: { $regex: /@gmail\.com$/i } })
Этот запрос найдёт всех пользователей, чьё поле email заканчивается на @gmail.com, независимо от регистра букв.
$regex не могут эффективно использовать стандартные индексы, если только шаблон не привязан к началу строки (например, /^value/)$text для лучшей производительности/@gmail\.com$/ — приведут к полному сканированию коллекцииОператор $regex может эффективно использовать стандартные индексы для паттернов, закреплённых в начале строки, например /^gmail/, без полного сканирования коллекции.
Новый — ещё не проверен сообществом
Вы