문서 홈 → 애플리케이션 개발 → MongoDB 매뉴얼
문서 쿼리
이 페이지의 내용
다음 메서드를 사용하여 MongoDB에서 문서를 쿼리할 수 있습니다:
프로그래밍 언어의 드라이버입니다.
MongoDB Atlas UI. 자세히 알아보려면 MongoDB Atlas로 문서 쿼리를 참조하세요.
오른쪽 상단의 언어 선택 드롭다운 메뉴를 사용하여 다음 예제의 언어를 설정하거나 MongoDB Compass를 선택합니다.
컬렉션에서 모든 문서 선택
이 작업은 다음 SQL 문에 해당하는 필터 조건자 {}
를 사용합니다.
SELECT * FROM inventory
동등성 조건 지정
다음 예시에서는 inventory
컬렉션에서 status
가 "D"
와 동일한 모든 문서를 선택합니다.
이 작업은 다음 SQL 문에 해당하는 필터 조건자 { status: "D" }
를 사용합니다.
SELECT * FROM inventory WHERE status = "D"
쿼리 연산자를 사용하여 조건 지정
다음 예시에서는 inventory
컬렉션에서 status
가 "A"
나 "D"
와 동일한 모든 문서를 조회합니다.
이 작업은 다음 SQL 문에 해당하는 필터 조건자 { status: { $in: [ "A", "D" ] } }
를 사용합니다.
SELECT * FROM inventory WHERE status in ("A", "D")
MongoDB 쿼리 연산자의 전체 목록은 쿼리 및 프로젝션 연산자 문서에서 확인 가능합니다.
AND
조건 지정
복합 쿼리는 컬렉션의 문서에 포함된 하나 이상의 필드에 조건을 지정할 수 있습니다. 암시적으로, 논리 접속사 AND
는 복합 쿼리의 절을 연결하여 쿼리가 컬렉션에서 모든 조건에 일치하는 문서를 선택하도록 합니다.
다음 예시에서는 inventory
컬렉션에서 status
가 "A"
와 같고 qty
가 ($lt
)30
보다 작은 문서를 모두 조회합니다.
이 작업은 다음 SQL 문에 해당하는 필터 조건자 { status: "A", qty: { $lt: 30 } }
를 사용합니다.
SELECT * FROM inventory WHERE status = "A" AND qty < 30
다른 MongoDB 비교 연산자는 비교 연산자에서 확인 가능합니다.
OR
조건 지정
$or
연산자를 사용하면 논리 접속사 OR
로 각 절을 연결하는 복합 쿼리를 지정하여 쿼리는 컬렉션에서 적어도 하나의 조건과 일치하는 문서를 선택합니다.
다음 예시에서는 컬렉션에서 status
가 "A"
와 같거나 qty
가 ($lt
)30
보다 작은 모든 문서를 검색합니다.
이 작업은 다음 SQL 문에 해당하는 필터 조건자 { $or: [ { status: 'A' }, { qty: { $lt: 30 } } ] }
를 사용합니다.
SELECT * FROM inventory WHERE status = "A" OR qty < 30
AND
와 OR
조건을 지정합니다.
다음 예제에서 복합 쿼리 문서는 status
가 "A"
와 같고 qty
가 ($lt
) 30
보다 작거나 또는 item
이(가) p
로 시작하는 조건 중 하나를 만족하는 모든 문서를 선택합니다.
이 작업이 이용하는 필터 술어
{ status: 'A', $or: [ { qty: { $lt: 30 } }, { item: { $regex: '^p' } } ] }
는 다음 SQL 문에 해당합니다.
SELECT * FROM inventory WHERE status = "A" AND ( qty < 30 OR item LIKE "p%")
참고
MongoDB는 문자열 패턴 일치를 수행하기 위해 정규 표현식 $regex
쿼리를 지원합니다.
MongoDB Atlas로 문서 쿼리
이 섹션의 예제에서는 샘플 영화 데이터 세트 를 사용합니다. 샘플 데이터 세트를 MongoDB Atlas 배포서버에 로드하는 방법을 알아보려면 샘플 데이터 로드를 참조하세요.
MongoDB Atlas의 쿼리에서 반환할 필드를 프로젝트하려면 다음 단계를 따르세요.
추가 쿼리 튜토리얼
추가 쿼리 예시는 아래에서 확인 가능합니다.
행동
커서
격리 읽기
버전 3.2에 새로 추가되었습니다.
복제본 세트 및 복제본 세트 샤드에 대한 읽기의 경우, 클라이언트는 읽기 고려를 통해 읽기에 대한 격리 수준을 선택할 수 있습니다. 자세한 내용은 Read Concern을 참조하십시오.
결과 형식 쿼리
MongoDB 드라이버 또는 mongosh
를 사용하여 찾기 작업을 실행하면 이 명령은 쿼리 결과를 관리하는 커서를 반환합니다. 쿼리 결과는 문서 배열로 반환되지 않습니다.
커서에서 문서를 반복하는 방법을 알아보려면 드라이버 설명서 를 참조하세요. mongosh
를 사용하는 경우 mongosh
에서 커서 반복하기를 참조하세요.