我在mongoDB中有这个变量:Física
我有一个属性name
为Educación Física
的模型。
我会创建一个正则表达式,传递变量Física
不返回我Educación Física
,但如果数据库有一个名称为fisica
或FisiCa
或其他的模型,我把它还给YES。
我正在使用nodeJS
,mongoDB
,Javascript
...
抱歉我的英文,非常感谢你。
答案 0 :(得分:7)
你需要的是:
主播:$ocLazyLoad
表示"输入的开头"并且$serviceTest.testLoad()
表示"输入结束"
不区分大小写:^
标记表示"忽略事物是否大写"
所以:
$
示例:
i
重新评论以下内容:
我怎么能把fisica变成变量?因为fisica是一个例子,它是一个从前端发送到后端的变量
为此,您需要正则表达式构造函数var rex = /^fisica$/i;
// ^ ^ ^
// | | +------ i flag (ignore case)
// +------+-------- anchors
:
if (rex.test(someString)) {
// It matches...
}
如果RegExp
中的值中有任何特殊于正则表达式的字符,则需要使用反斜杠对其进行转义。 This question and its answers覆盖了正则表达式。那么在那种情况下:
var rex = new RegExp("^" + yourVariable + "$", "i");
答案 1 :(得分:1)
在mongoDB中,您可以在查询中使用$regex,其中包含以下选项:
db.collection.find({name:{$regex:/^fisica/, $options:'i'}})