2012-01-29 90 views
2

我知道做控制檯不區分大小寫的查詢可以使用正則表達式像db.stuff.find({ foo: /bar/i });如何在java中進行不區分大小寫的查詢?

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

但我不能fiure如何在Java drive.example使用它:

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

我想user不區分大小寫,如何做到這一點?

+0

你應該看看這裏: http://stackoverflow.com/questions/4069340/mongodb-and-java-driver-ignore-case-in-query – lowercase 2012-01-29 20:33:15

+0

@lowercase呃...我沒」 t找到它,但謝謝。 – Shisoft 2012-01-29 22:39:43

回答

0

您已經意識到使用正則表達式。我能想到的唯一的其他選擇是規範化要查詢的數據。

1

您可以使用Pattern.compile()來做到這一點,其中第一個參數是您正在查詢的值,第二個參數是Pattern.CASE_INSENSITIVE,如下所示。

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