Как создать поисковый запрос для частичных совпадений строк в Mongoose?

Я новичок в Мангуста.js и мне интересно, как создать простой запрос мангуста, который возвращает значения, содержащие символы в том порядке, в котором они были отправлены.

Это будет для формы автозаполнения, которая должна возвращать города с именами, содержащими символы, введенные в поле поиска. Должен ли я начать с .where запрос?

1 ответов


вы можете найти regexp, который должен позволить вам искать гибким (хотя и не очень быстрым) способом. Код будет чем-то похожим на;

var input = 'ln';  // the input from your auto-complete box

cities.find({name: new RegExp(input, "i")}, function(err, docs) {
   ...
});

конечно, вы можете предварительно обработать строку, чтобы она соответствовала с самого начала (добавить ^), С конца (добавлять к $) etc. Просто обратите внимание, что сопоставление с произвольными частями длинных строк может быть медленным.