2015-04-22 6 views
5

Я хочу в основном выполнить поиск по имени пользователя.Mongoose: Запрос для начинается с

User.find({ username: "Mich"}) 

Мне нужен запрос, как указано выше, который вернет всех пользователей, имя пользователя начинается с «Mich». Майкл, Michaela, MichJagger и т.д.

ответ

21

Вы можете search with regex, это должно работать в узле

User.find({ username: /^Mich/}) 

Обратите внимание, что Монго поддерживает регулярные выражения объектов, что означает, что вы можете сделать

var regexp = new RegExp("^"+ req.params.username); 
User.find({ username: regexp}); 

или Mongos собственный regex constructor

User.find({ username: {$regex : "^" + req.params.username}}); 
+1

Как бы вставить это значение? То есть. Если у меня есть req.params.username? То есть, как бы заменить Мих переменной? – opticon

+0

с шаблоном string, если кому интересно: '' '{$ regex:'^$ {req.params.username} '}' '' '' 'var regexp = new RegExp ('^$ {req.params.username} '); '' ' –

Смежные вопросы