2015-04-22 83 views
5

我想基本上做一个用户名搜索。猫鼬:查询开始

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

我想要一个像上面这样的查询,它将返回用户名以“Mich”开头的所有用户。迈克尔,麦克拉,MichJagger等

回答

21

您可以search with regex,这应该在节点工作

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

注意蒙戈支持正则表达式对象,这意味着你可以做

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

或Mongos自己正则表达式的构造函数

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

我该如何插入该值? IE浏览器。如果我有它req.params.username?那就是说,我将如何用一个变量代替Mich? – opticon

+0

如果有人感兴趣:'''{$ regex:'^ $ {req.params.username}'}''var var regexp = new RegExp('^ $ {req.params.username} );''' –