如何在Java中为Mongo DB编写此查询的等效内容:
db.mydata.find({$where: "this.fields.name.toLowerCase().indexOf('ar') > 0"})
该查询用于查找包含“AR”(马丁,马克等)的所有名称。
我目前正在使用QueryBuilder
,但它不支持这种查询格式。
有什么想法吗?
答案 0 :(得分:6)
选项是使用正则表达式。
即
Pattern regex = Pattern.compile("ar", Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE);
DBObject query = new DBObject("fields.name", regex);
Cursor result = myCollection.find(query);