从 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/