В MongoDB регулярные выражения можно использовать для фильтрации документов на основе поиска по шаблону, используя оператор $regex. Это позволяет выполнять гибкий поиск по строкам в запросах.
Базовая структура regex-запроса:
db.collection.find({ field: { $regex: /pattern/, $options: "flags" } })
$regex определяет шаблон для поиска$options определяет необязательные флаги регулярного выраженияi — поиск без учёта регистраm — многострочный поискx — разрешить комментарии и пробелы в шаблонеЧтобы найти всех пользователей, чьё имя начинается с буквы "J" (без учёта регистра):
db.users.find({ name: { $regex: /^J/, $options: "i" } })
^J — якорный шаблон, который совпадает со строками, начинающимися с "J"i гарантирует, что совпадут как "John", так и "jane"^pattern)$text для повышения производительности/J/ на больших наборах данных, так как они вызывают полное сканирование коллекцииОператор $regex в MongoDB может эффективно использовать индексы для любого паттерна, включая паттерны без якоря в начале, такие как /pattern/ без каретки.
Новый — ещё не проверен сообществом
Вы