Mongo查询与节点JS中的正则表达式操作变量

Pin*_*ade 15 mongodb node.js

我这里有问题.我想在我的Node JS文件中使用像LIKE这样的常规关系数据库来查询我的MongoDB.问题是我想要的东西不是文字......它是一个变量!到目前为止,我还没有发现这样做的好方法.这是我拍摄的"durrr first try"镜头:

var result = postData.replace(/\+/g,' ').substring(5);
db.testlogwiki.find({"line_text" : /result/ };
//predictably only matches to the literal "result" as opposed to my variable
Run Code Online (Sandbox Code Playgroud)

testlogwiki是在Mongo中制作的...我已经运行了,这对于带有"line_text"字面意思的"line_text"的db条目.

这似乎是一个非常简单的问题......

Ser*_*sev 36

试试这个:

db.testlogwiki.find({"line_text" : new RegExp(result) };
Run Code Online (Sandbox Code Playgroud)

  • 希望你的变量中没有任何正则表达式特殊字符,否则会失败! (3认同)

小智 5

两者都会起作用

db.testlogwiki.find({"line_text" : new RegExp(result, 'i') }; // to make this case insensitive 
Run Code Online (Sandbox Code Playgroud)

或者

db.testlogwiki.find( { line_text: { $regex: result[, $options: 'i'] } } );
Run Code Online (Sandbox Code Playgroud)