最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

您如何使用MongoDB node.js驱动程序进行包含查询?

运维笔记admin14浏览0评论

您如何使用MongoDB node.js驱动程序进行包含查询?

您如何使用MongoDB node.js驱动程序进行包含查询?

我正在尝试对包含某个子字符串的项目进行搜索,但是没有返回任何结果(即使我知道数据适合查询,包括大小写):

collection.find({name: "/.*" + keyword + ".*/"}).toArray(function(err, items)

是否应该与包含关键字的所有内容都不匹配?它只是返回一个空对象。

我只是在ExpressJS应用中使用常规的MongoDB驱动程序。

回答如下:

您首先需要构建一个正则表达式,应该尝试这样的事情:

var regex = RegExp("/.*" + keyword + ".*/")

然后将变量传递给查询。我通常发现更容易将查询作为变量并将其传递给:

var query = { FieldToSearch: new RegExp('^' + keyword) };
collection.find(query).toArray(...)

我将正则表达式作为左根正则表达式包括在内,以利用索引(如果可能,建议始终使用以提高性能)。要了解更多信息,请点击这里:

http://www.mongodb/display/DOCS/Advanced+Queries#AdvancedQueries-RegularExpressions

发布评论

评论列表(0)

  1. 暂无评论