javascript - 在 Node js 中使用 $regex mongodb 查询不起作用

标签 javascript regex node.js mongodb


从 Node js,我尝试根据不区分大小写的关键字检索文档。当我直接从 mongo db 控制台尝试时,我可以看到结果。

db.users.findOne({"displayName":{$regex: /.*abc./, $options:"i"}})

但是当我在 Node js 中尝试相同的操作时,我得到的是空结果。

var selector = { "displayName": {$regex: "/.*abc./", $options:"i"}}

这是因为正则表达式不在 javascript 中。
谁能帮我解决这个问题。

最佳答案

$regex value 需要是要匹配的字符串模式或正则表达式对象。传递字符串模式时,不要像在 node.js 代码中那样包含 / 分隔符。

所以这些都可以在 node.js 中工作:

var selector = {"displayName": {$regex: ".*abc.", $options:"i"}}

var selector = {"displayName": {$regex: /.*abc./, $options:"i"}}

关于javascript - 在 Node js 中使用 $regex mongodb 查询不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28583642/

相关文章:

javascript - 调用两个异步函数之一,但不能同时调用两个

python - 带有日语字符的 re.sub

java - 匹配事件 ID 的正则表达式(不那么贪婪)

javascript - 在 jQuery 中无限改变 z-index

作为 jQuery 函数一部分的 PHP 变量不起作用,但纯文本可以

javascript - 将事件处理程序添加到不存在的类中?

java - 替换查询字符串中的设计模式

node.js - Typescript从 Node 模块导入ts文件

javascript - 每次生成一个随机字符串

javascript - Node-Red 编辑器和库依赖项?