Показать сообщение отдельно
  #13 (permalink)  
Старый 22.12.2019, 20:12
Аспирант
Отправить личное сообщение для Tipylja Посмотреть профиль Найти все сообщения от Tipylja
 
Регистрация: 17.04.2017
Сообщений: 72

Дело в том, что у меня нет тех строк в которых будет происходить поиск - они в БД. Я могу указать или точную строк для поиска, в запросе к БД или регулярное выражение. Если я укажу "Василий", то я получу в ответ обе записи из БД с точным совпадением:
  • "Петров Василий Сергеевич"
  • "Иванов Василий Петрович"
Вот как это выглядит в коде
module.exports.personGetAllWithParams = options => Persons.paginate(
      {
        $text: { $search: 'Василий' }
      },
      options
    );

То есть в $search я передал свою строку для поиска внутри бд, при запросе. Так же туда можно передать регулярку - это мне и нужно поидее, что бы я мог искать не по целому слову, а по нескольким символам
module.exports.personGetAllWithParams = options => {
return Persons.paginate(
      {
        $text: { $search: RegExp(`/.[${options.search.toString()}]./`, "i") }
      },
      options
    );
}

вот в $search я передаю RegExp - в него я могу передать ту строку которую ввел пользователь для поиска внутри БД. То есть я не могу тут применить indexOf и другие варианты.
Ответить с цитированием