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

时间:2013-11-25 20:46:27

标签: node.js mongodb express mongoose

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

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

1 个答案:

答案 0 :(得分:24)

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

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

cities.find({name: new RegExp(input, "i")}, function(err, docs) {
   ...
});

当然,您可以对字符串进行预处理,使其从开头(前缀^),结尾($后附加)等匹配。只需注意匹配任意部分长串可能很慢。