如何在Mongo db上用Java搜索文本

Ran*_*ize -1 java mongodb

如何在Java中为Mongo DB编写此查询的等效项:

db.mydata.find({$where: "this.fields.name.toLowerCase().indexOf('ar') > 0"})
Run Code Online (Sandbox Code Playgroud)

该查询用于查找包含"AR"(马丁,标记等)的所有名称.

我目前正在使用QueryBuilder,但它不支持这种查询格式.

任何的想法?

idb*_*ley 6

一种选择是使用正则表达式.

Pattern regex = Pattern.compile("ar",  Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE);
DBObject query = new DBObject("fields.name", regex);
Cursor result = myCollection.find(query);
Run Code Online (Sandbox Code Playgroud)