【问题标题】:Mongoose: Query for starts withMongoose:查询以
【发布时间】:2015-04-22 22:13:37
【问题描述】:

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

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

我想要一个像上面这样的查询,它会返回所有用户名以“Mich”开头的用户。 Michael、Michaela、MichJagger 等。

【问题讨论】:

    标签: javascript node.js mongodb


    【解决方案1】:

    你可以search with regex,这应该可以在Node中使用

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

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

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

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

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

    【讨论】:

    • 如何插入该值? IE。如果我有 req.params.username?也就是说,我如何将 Mich 替换为变量?
    • 如果有人感兴趣,可以使用模板字符串:{ $regex: `^${req.params.username}` }var regexp = new RegExp(`^${req.params.username}`);
    猜你喜欢
    • 2019-03-06
    • 1970-01-01
    • 2013-08-17
    • 2014-12-27
    • 2014-10-10
    • 1970-01-01
    • 2020-03-05
    • 2022-01-10
    • 2017-05-22
    相关资源
    最近更新 更多