如何在 Mongo db 上按 Java 文本搜索 [重复]
Posted
技术标签:
【中文标题】如何在 Mongo db 上按 Java 文本搜索 [重复]【英文标题】:How to search by text in Java on Mongo db [duplicate] 【发布时间】:2013-12-06 03:58:00 【问题描述】:如何在 Java 中为 Mongo DB 编写此查询的等效项:
db.mydata.find($where: "this.fields.name.toLowerCase().indexOf('ar') > 0")
?
该查询用于查找所有包含“AR”(martin、mark 等)的名称。
我目前正在使用QueryBuilder
,但它不支持这种查询格式。
有什么想法吗?
【问题讨论】:
@Philipp 如果它实际上提到如何在 JAVA 中做到这一点,那将是重复的 意识到如果您不使用锚定正则表达式搜索(并且具有索引字段),这将搜索集合中的每个文档。慢。 【参考方案1】:一种选择是使用正则表达式。
即
Pattern regex = Pattern.compile("ar", Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE);
DBObject query = new DBObject("fields.name", regex);
Cursor result = myCollection.find(query);
【讨论】:
你就是男人!谢谢!稍微更正一下:new BasicDBObject("fields.name", regex);以上是关于如何在 Mongo db 上按 Java 文本搜索 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 java 驱动程序更新 mongo db 中的文档字段?
如何在phpstorm的Mongo Explorer插件中按id搜索文档
MongoError: 必须使用 Mongo DB Native NodeJS Driver 对所有 $meta 排序键进行 $meta 投影