MongoDB Compass에서 자료 검색하기
KUKJIN LEE • 3개월 전 작성
MongoDB Compass에서 데이터를 검색할 때, 특정 패턴이 포함된 데이터를 찾는 경우가 자주 발생합니다. 이 문서에서는 정규 표현식을 사용하여 이러한 패턴을 찾는 방법에 대해 설명합니다.
1. 기본적인 쿼리 작성
일반적인 값 일치를 기반으로 문서를 찾기 위해서는 다음과 같은 쿼리를 사용할 수 있습니다.
{ "title": "light" }
title
필드의 값이 정확히 light
인 문서를 찾습니다.
2. 정규 표현식을 사용한 패턴 매칭
특정 문자열을 포함하는 모든 문서를 찾고자 할 때는 정규 표현식을 사용할 수 있습니다. 예를 들어, title
필드에 light
라는 문자열이 포함된 모든 문서를 찾고자 한다면 다음과 같이 쿼리를 작성합니다.
{ "title": { "$regex": "light" } }
title
필드에 light
라는 문자열이 포함된 모든 문서를 반환합니다.
3. 대소문자 구분 없이 검색하기
정규 표현식에 대소문자 구분을 하지 않고 검색하려면, $options
에 "i"
플래그를 추가합니다.
{ "title": { "$regex": "light", "$options": "i" } }
title
필드에 light
문자열이 대소문자 구분 없이 포함된 모든 문서를 반환합니다.
예를들어 아래와 같은 문서가 존재하고, `regex`를 활용한 `light`를 검색할 경우에는?
{ "_id": 1, "title": "lightbulb", "content": "This is about lightbulbs." }
{ "_id": 2, "title": "darklight", "content": "This is about dark light." }
{ "_id": 3, "title": "highlight", "content": "This is about highlights." }
아래와 같은 결과를 확인할 수 있습니다. (모두 light가 들어가 있는 걸 확인할 수 있습니다.)
[
{ "_id": 1, "title": "lightbulb", "content": "This is about lightbulbs." },
{ "_id": 2, "title": "darklight", "content": "This is about dark light." },
{ "_id": 3, "title": "highlight", "content": "This is about highlights." }
]
5. MongoDB Compass에서 쿼리 실행 방법
-
MongoDB Compass를 실행하고, 해당 데이터베이스와 컬렉션을 엽니다.
-
상단 메뉴에서 "Find" 탭을 선택합니다.
-
쿼리 입력란에 위에서 설명한 정규 표현식 쿼리를 입력합니다.
-
"Find" 버튼을 클릭하여 쿼리를 실행합니다.
이 방법을 통해 MongoDB Compass에서 특정 패턴이 포함된 데이터를 손쉽게 검색할 수 있습니다. 정규 표현식을 활용하면 보다 유연하고 강력한 데이터 검색이 가능합니다.