如何在Mongodb上用Java搜索文本

时间:2013-11-21 15:30:53

标签: java mongodb

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

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

该查询用于查找包含“AR”(马丁,马克等)的所有名称。

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

有什么想法吗?

1 个答案:

答案 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);