如何在Mongoose中为部分字符串匹配创建搜索查询?

ac3*_*360 11 mongoose mongodb node.js express

我是Mongoose.js的新手,我想知道如何创建一个简单的Mongoose查询,该查询返回包含按提交顺序排列的字符的值.

这将是一个自动完成表单,需要返回名称包含输入到搜索字段中的字符的城市.我应该从.where查询开始吗?

Joa*_*son 24

您可以通过regexp找到,这应该允许您以灵活(但不是非常快)的方式进行搜索.代码类似于;

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

cities.find({name: new RegExp(input, "i")}, function(err, docs) {
   ...
});
Run Code Online (Sandbox Code Playgroud)

当然,您可以对字符串进行预处理,使其从开头(前置^),结尾(追加$)等匹配.请注意,匹配长字符串的任意部分可能会很慢.