我试图在Mongo中区分大小写的搜索。基本上我想不区分大小写的字符串匹配我正在使用正则表达式。这是我的代码SpringMongo不区分大小写的搜索正则表达式
Query query = new Query(Criteria.where(propName).regex(value.toString(), "i"));
但上述剂量匹配我整个字符串(有时与空格字符串)。即使它是一个子字符串,它也会返回值。
例如:假设我的收藏有两个值“Bill”和“Bill status”,即使我的搜索是“bill status”,它也会返回我“bill”,即使有一个子字符串字符串我在寻找
我试图Query query = new Query(Criteria.where(propName).is(value.toString()));
但上面是区分大小写的。有人可以请这方面的帮助。
感谢您抽出宝贵时间在这两个地方回复:)。我正在使用spring-mongo与mongo db进行交互。我可以在那里使用相同的吗?如果是这样,你能告诉我如何在我的代码中改变它吗?我从上面的命令中尝试了“i(/^value.tostring $)”。谢谢 – Droidme 2012-08-01 08:41:06
@Droidme:作为spring-mongo的替代品,你可能想看看[Jongo](http://jongo.org/)。 Jongo目前的使命是“在Mongo shell中查询Java”。 – Stennie 2012-08-02 03:57:12
我不是一个spring-mongo开发者,但是我建议你尝试: Query query = new Query(Criteria.where(propName).regex(“^”+ value.toString()+“$”,“i” )); – 2012-08-02 07:33:28