gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 12:29:13 24 4
gpt4 key购买 nike

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

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.org/display/DOCS/Advanced+Queries#AdvancedQueries-RegularExpressions

关于node.js - 如何使用 MongoDB node.js 驱动程序执行包含查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12192197/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com