如何在Java中为Mongo DB编写此查询的等效项:
db.mydata.find({$where: "this.fields.name.toLowerCase().indexOf('ar') > 0"})
Run Code Online (Sandbox Code Playgroud)
?
该查询用于查找包含"AR"(马丁,标记等)的所有名称.
我目前正在使用QueryBuilder,但它不支持这种查询格式.
任何的想法?
一种选择是使用正则表达式.
即
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)