小编Ind*_*eet的帖子

Java Mongodb正则表达式查询

我必须用Java运行这个查询

 db.Users.find({"name": /^ind/i})
Run Code Online (Sandbox Code Playgroud)

我的Java代码是

Document findQuery = new Document();
findQuery.append("name", Pattern.compile("/^"+name+"/i"));
FindIterable<Document> iterable = db.getCollection("Users").find(findQuery);
Run Code Online (Sandbox Code Playgroud)

它没有返回任何数据,我认为上面的java代码正在转换

> /^ind/i into "/^ind/i"
Run Code Online (Sandbox Code Playgroud)

提前致谢.

编辑:

基于stribizhev建议更新查询及其工作

db.Users.find({"name": {"$regex": /^ind/, "$options": "i"}})
Run Code Online (Sandbox Code Playgroud)

Java代码

Document regQuery = new Document();
regQuery.append("$regex", "^(?)" + Pattern.quote(name));
regQuery.append("$options", "i");

Document findQuery = new Document();
findQuery.append("name", regQuery);
FindIterable<Document> iterable = db.getCollection("Users").find(findQuery);
Run Code Online (Sandbox Code Playgroud)

java regex mongodb

15
推荐指数
3
解决办法
2万
查看次数

标签 统计

java ×1

mongodb ×1

regex ×1