在mongodb中,等同于sql“like”运算符是
db.users.find({"shows": /m/})
使用nodejs / javascript我想基于url paramater动态更改字母。
我试过了
letter = req.params.letter;
db.users.find({"shows": '/' + letter + '/'})
这不起作用,我猜因为现在字符串的字符串被解释不同。
答案 0 :(得分:14)
db.users.find( { shows : { $regex : letter } } );
答案 1 :(得分:2)
关于语法的mindandmedia +1。但请记住,如果您希望查询使用索引高效,则必须使用前缀查询(也称为rooted regexps),例如/ ^ prefix /
否则您的查询可能会非常慢 - 请参阅此处文档中的说明:
http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-RegularExpressions
答案 2 :(得分: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));