Задать вопрос
d1zz7
@d1zz7

Как искать c регулярными выражениями в mongoose?

Окей. У меня есть, к примеру:
const { searchText } = req.body;
И нужно выполнить model.find({ name: searchText });
Но использовать как в SQL - LIKE '% %'. Вроде нашёл как, типо find({name: /Значение/}), но оно не работает.
  • Вопрос задан
  • 164 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
Поиск с использованием регулярных выражений:
find({name: {$regex: /Значение/}}),
Работает медленно, если есть индекс на поле будет побыстрее, но только если это начало слова /^Значение/
Для поиска лучше использовать текстовый индекс
createIndex( { name: "text" } )
использование:
find( { $text: { $search: "Значение" } } )

Text Index
$text
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы