Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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
Java 无法匹配Mongo DB中的模式搜索_Java_Regex_Spring_Mongodb_Mongodb Query - Fatal编程技术网

Java 无法匹配Mongo DB中的模式搜索

Java 无法匹配Mongo DB中的模式搜索,java,regex,spring,mongodb,mongodb-query,Java,Regex,Spring,Mongodb,Mongodb Query,如何使用正则表达式匹配MongoDB中的给定输入值,因为传递的值大于DB中的值。有什么建议吗?谢谢 DB中的值-123456输入搜索值-123456000 我尝试了下面的查询,但没有返回任何结果 db.getCollection('STUDENT').find( { Studentid:{$regex : '1234560000'}}); 仅供参考->Studentid是字符串字段。从它的发音来看,您必须知道inputValue可以比文档ID多个字符(因为我们说的是字

如何使用正则表达式匹配MongoDB中的给定输入值,因为传递的值大于DB中的值。有什么建议吗?谢谢

DB中的值-123456输入搜索值-123456000

我尝试了下面的查询,但没有返回任何结果

db.getCollection('STUDENT').find(
        {   Studentid:{$regex : '1234560000'}});   

仅供参考->Studentid是字符串字段。

从它的发音来看,您必须知道inputValue可以比文档ID多个字符(因为我们说的是字符串)

如果您知道您的输入可以是您想要的ID,后跟“n”个零(基于您的示例),那么您的正则表达式看起来更像:

inputValue = inputValue.replace("0", "");
db.getCollection('STUDENT').find( { Studentid:{$regex : inputValue + '[0]*'}});
我真正的建议是使用一个数字作为ID(无论是
int
还是
long
,这样你就可以
db.getCollection('STUDENT')。查找(eq(“Sudentid”);

或者如果你要找多个学生

db.getCollection('STUDENT').find(gte(“Sudentid”);

它返回
Studentid
大于或等于inputValue的所有文档


免责声明:我不确定您使用的是哪个版本的Mongo驱动程序,但以下是我使用的文档以及我的答案:

也尝试了此引用。但没有运气。此场景在大多数情况下都很好,除了2个学生ID 123450、1234500 in DB之外,我得到的输入值为1234500000,我想知道如果两个学生Id都被提取。如果零是唯一不同的东西,那么您应该仔细检查您的正则表达式。这里是一个很好的尝试地方: