Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 用于数字的MongoDB正则表达式_Node.js_Regex_Mongodb_Mongoose - Fatal编程技术网

Node.js 用于数字的MongoDB正则表达式

Node.js 用于数字的MongoDB正则表达式,node.js,regex,mongodb,mongoose,Node.js,Regex,Mongodb,Mongoose,有一个正则表达式可以正确检查值中是否存在字符串: { name: { $regex: req.query.name, $options: 'i' } }, 问题是如果“name”不是字符串而是数字。有没有办法改变它,让它也检查数值?在不丢失字符串检查功能的情况下。您应该通过$toString将它们转换为字符串,这是Mongo方式(由于Mongo 4.2+,您可以使用$regexMatch |$regexFind |$regexFindAll): { “$expr”:{ “$regexMatch

有一个正则表达式可以正确检查值中是否存在字符串:

{ name: { $regex: req.query.name, $options: 'i' } },

问题是如果“name”不是字符串而是数字。有没有办法改变它,让它也检查数值?在不丢失字符串检查功能的情况下。

您应该通过
$toString
将它们转换为
字符串,这是Mongo方式(由于Mongo 4.2+,您可以使用
$regexMatch |$regexFind |$regexFindAll
):

{
“$expr”:{
“$regexMatch”:{
“输入”:{“$toString”:“$name”},
“regex”:req.query.name
}
}
}

您应该通过
$toString
将它们转换为
字符串,这是Mongo方式(由于Mongo 4.2+,您可以使用
$regexMatch |$regexFind |$regexFindAll
):

{
“$expr”:{
“$regexMatch”:{
“输入”:{“$toString”:“$name”},
“regex”:req.query.name
}
}
}