6

在 mongodb 中,相当于 sql "like" 运算符是

db.users.find({"shows": /m/})

使用 nodejs/javascript 我想根据 url 参数动态更改字母。

我试过了

letter = req.params.letter;

db.users.find({"shows": '/' + letter + '/'})

这不起作用,我猜是因为斜杠现在是字符串的解释不同。

4

3 回答 3

15

根据文档页面,一种方法是:

db.users.find( { shows : { $regex : letter } } );
于 2012-07-06T12:25:51.573 回答
2

+1 for mindandmedia 的语法。但是,请记住,如果您希望查询有效地使用索引,您必须使用前缀查询(也称为根正则表达式),例如 /^prefix/

否则,您的查询可能会非常缓慢 - 请参阅此处文档中的注释:

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

于 2012-07-06T20:07:36.910 回答
0

你可以试试这个:

let filter = "Dynamic";

let str = /.*Raj.*/;
console.log(str);
console.log(typeof(str));


let stra = eval(`/.*${filter}+.*/`);
console.log(stra);
console.log(typeof(stra));
于 2019-11-05T04:48:32.267 回答