Mongoose:查询以.开头

opt*_*con 13 javascript mongodb node.js

我想基本上做一个用户名搜索.

User.find({ username: "Mich"})
Run Code Online (Sandbox Code Playgroud)

我想要一个像上面这样的查询,它将返回用户名以"Mich"开头的所有用户.Michael,Michaela,MichJagger等

ade*_*neo 35

您可以使用正则表达式进行搜索,这应该在Node中有效

User.find({ username: /^Mich/})
Run Code Online (Sandbox Code Playgroud)

请注意,Mongo支持正则表达式对象,这意味着您可以这样做

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

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

User.find({ username: {$regex : "^" + req.params.username}});
Run Code Online (Sandbox Code Playgroud)

  • 如果有人感兴趣,可以使用模板字符串:```{ $regex: `^${req.params.username}` }``` ```var regexp = new RegExp(`^${req.params.username}`) ;``` (2认同)