Mongodb中不区分大小写的搜索

时间:2015-07-31 11:03:13

标签: java regex spring mongodb

我正在Mongo中尝试不区分大小写的搜索。基本上我想要不区分大小写的字符串匹配我正在使用正则表达式。这是我的代码

Query query = new Query( Criteria.where(propName).regex(value.toString(), "i"));

但上面的剂量匹配我的整个字符串(有时用空格的字符串)。它返回值,即使它是一个子字符串。

例如:假设我的收藏有2个值"比尔"和"比尔状态',它返回我" bill"即使我的搜索是"账单状态"。即使存在我正在搜索的字符串的子字符串

,它也会返回结果

我试过,Query query = new Query( Criteria.where(propName).is(value.toString()));

但以上是区分大小写的。有人可以帮忙解决这个问题。

1 个答案:

答案 0 :(得分:1)

你的正则表达式没有固定在正面和背面以保持等效。将值传递给:

foo: /^VALUE$/i

插入符号将字符串固定在前面,以便在不区分大小写的情况下进行全文匹配。