몽고db에서 저장 되어있는 특수문자를 조건을 통해서 조회하는 방법입니다.
먼저 샘플 컬렉션 입니다.
일반적으로 몽고db와 관련된 DBMS나 콘솔에서는 아래 사진처럼 쉽게 가능 합니다.
도큐먼트의 name 속성에 대해서 "(주)" 가 있는 내용을 검색하여 보겠습니다.
어렵지 않는 내용입니다. 따로 안될것이라 생각하지도 않는 내용입니다.
그러면 위 내용을 토대로 Java에서 실행하여 보겠습니다.
같은 조건으로 검색했는데 값이 없습니다.
물론 값이 나오는 경우도 존재합니다만, 위와 같이 특수문자에 의해서 조건이 안되는경우가 있습니다.
또한 검색을 하는데 결과가 없는 것이 아니라 오류가 발생하는 경우도 존재 합니다.
Java에서 replaceAll을 하는 경우에 종종 만나는 패턴과 관련된 오류 입니다.
사용한 소괄호의 값이 Java에서는 메타문자로 사용되기 때문 입니다.
위 내용을 토대로 고려하여보면, Java에서 Mongodb로 조회하는 경우에는 특수문자에 대한 처리가 필요하다는 것을 알 수 있습니다.
특수문자에 대해서 처리하는 방법은 매우 간단합니다.
단순하게 역슬레쉬(\\) 2개를 붙여줌으로써 문제가 해결된 것을 볼 수 있습니다.
몽고DB에서 특정 데이터를 조회하는 경우, 조건에 특수문자가 들어가면 역슬래쉬를 붙여서 발생가능한 문제를 예방하는 것이 좋을 것 같습니다!
이상으로, 몽고db에서 특수문자를 검색하는 경우 유의해야되는 점에 대해서 살펴 보았습니다.
반응형
'몽고DB > Java 몽고DB' 카테고리의 다른 글
Mongodb Aggregate 밀리세컨드(milliseconds) 변환(날짜, 문자형식) with Mongotemplate (5) | 2021.07.07 |
---|---|
몽고DB Aggregate 를 병렬 동작 처럼(Mongodb aggregate facet) (0) | 2020.11.03 |
Java 몽고DB 파일 업로드 (Java mongodb file, Java mongodb fs) (0) | 2020.07.03 |
MongoTemplate or연산자를 통한 질의문 만들기(MongoTemplate or query) (0) | 2020.06.18 |
Mongotemplate에서 MongoDB 증감 연산자 사용과 기타 다른 update 연산자 (0) | 2020.05.14 |
* 위 에니메이션은 Html의 캔버스(canvas)기반으로 동작하는 기능 입니다. Html 캔버스 튜토리얼 도 한번 살펴보세요~ :)
* 직접 만든 Html 캔버스 애니메이션 도 한번 살펴보세요~ :)
댓글