2012-01-29 3 views
2

나는 콘솔에서 대소 문자를 구분하지 쿼리 db.stuff.find({ foo: /bar/i });java에서 대소 문자를 구분하지 않는 쿼리를 만드는 방법은 무엇입니까?

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

같은 정규 표현식을 사용할 수 있도록 알고하지만 자바 drive.example에서 사용하는 방법을 fiure 수 없습니다

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

+0

@lowercase 어 ... I didn를 ' 찾지. 고마워. – Shisoft

답변

0

정규 표현식 사용에 대해 이미 알고 있습니다. 내가 생각할 수있는 유일한 다른 옵션은 쿼리 할 데이터를 표준화하는 것입니다.

1

Pattern.compile()을 사용하면 첫 번째 매개 변수가 쿼리 할 값이고 두 번째 매개 변수는 Pattern.CASE_INSENSITIVE입니다.

query.put("db.variable", Pattern.compile(searchValueHere, Pattern.CASE_INSENSITIVE)); 
관련 문제