如何在java中进行不区分大小写的查询?

时间:2012-01-29 19:31:12

标签: java mongodb

我知道在控制台中使用不区分大小写的查询可以使用像db.stuff.find( { foo: /bar/i } );

这样的正则表达式

MongoDB: Is it possible to make a case-insensitive query?

但我无法确定如何在java drive.example中使用它:

DBObject q = BasicDBObjectBuilder.start().add(type, s).add("user", user).get();
DBCursor cursor = c.find(q);

我希望user不区分大小写,怎么做?

2 个答案:

答案 0 :(得分:1)

您可以使用Pattern.compile()执行此操作,其中第一个参数是您要查询的值,第二个参数是Pattern.CASE_INSENSITIVE,如下所示。

query.put("db.variable", Pattern.compile(searchValueHere, Pattern.CASE_INSENSITIVE));

答案 1 :(得分:0)

您已经知道使用正则表达式。我能想到的唯一其他选择是规范化要查询的数据。