문서 쿼리
MongoDB Shell에서 db.collection.find()
메서드를 사용하여 컬렉션의 문서를 쿼리합니다.
이 페이지의 예시는 Atlas 샘플 데이터세트를 참조합니다. 빈 Atlas 클러스터를 생성하고 예시에 따라 Atlas 클러스터를 샘플 데이터로 채웁니다. Atlas 시작하기를 참고하여 자세한 내용을 학습할 수 있습니다.
컬렉션의 모든 문서 읽기
컬렉션의 모든 문서를 읽으려면 find 메서드에 빈 문서를 쿼리 필터 매개변수로 전달합니다. 쿼리 필터 매개변수가 선택 기준을 결정합니다.
예시
sample_mflix.movies
컬렉션의 모든 문서를 반환하려면 다음을 실행합니다.
use sample_mflix db.movies.find()
이 작업은 아래 SQL 문과 동일합니다.
SELECT * FROM movies
동등성 조건 지정
동일성 조건과 일치하는 문서를 선택하려면 쿼리 필터 문서에서 조건을 <field>:<value>
쌍으로 지정합니다.
예시
sample_mflix.movies
컬렉션에서 title
이 Titanic
에 해당하는 영화를 모두 반환합니다
use sample_mflix db.movies.find( { "title": "Titanic" } )
이 작업은 다음 SQL 문에 해당합니다.
SELECT * FROM movies WHERE title = "Titanic"
쿼리 연산자를 사용하여 조건 지정
쿼리 필터 문서의 쿼리 연산자를 사용하여 더 복잡한 비교 및 평가를 수행합니다. 쿼리 필터 문서의 쿼리 연산자는 다음과 같은 형식을 갖습니다.
{ <field1>: { <operator1>: <value1> }, ... }
예시
sample_mflix.movies
컬렉션에서 관람 등급이 PG
이거나 PG-13
인 영화를 모두 반환하려면 아래를 실행합니다.
use sample_mflix db.movies.find( { rated: { $in: [ "PG", "PG-13" ] } } )
이 작업은 다음 SQL 문에 해당합니다.
SELECT * FROM movies WHERE rated in ("PG", "PG-13")
논리 연산자 지정(AND
/ OR
)
복합 쿼리는 컬렉션의 문서에 포함된 하나 이상의 필드에 조건을 지정할 수 있습니다. 암시적으로, 논리 접속사 AND
는 복합 쿼리의 절을 연결하여 쿼리가 컬렉션에서 모든 조건에 일치하는 문서를 선택하도록 합니다.
예시
멕시코에서 개봉되었으며 IMDB 평점이 7 이상인 영화를 반환하려면 다음을 실행합니다.
use sample_mflix db.movies.find( { countries: "Mexico", "imdb.rating": { $gte: 7 } } )
$or
연산자를 사용하여 각 절을 논리적 OR
접속사로 결합하는 복합 쿼리를 지정하면 쿼리가 컬렉션에서 조건이 하나 이상 일치하는 문서를 선택합니다.
예시
sample_mflix.movies
컬렉션에서 2010년에 개봉했고 영화상을 5개 이상 수상했거나 Drama
중 genre
장르에 해당하는 영화를 반환하려면 아래를 실행합니다.
use sample_mflix db.movies.find( { year: 2010, $or: [ { "awards.wins": { $gte: 5 } }, { genres: "Drama" } ] } )
읽기 동작
문서 읽기의 특정 동작에 대해 자세히 알아보려면 동작을 참조하세요.
추가 쿼리 튜토리얼
추가 쿼리 예시는 아래에서 확인 가능합니다.