Docs Menu
Docs Home
/
MongoDB Shell
/

문서 쿼리

이 페이지의 내용

  • 컬렉션의 모든 문서 읽기
  • 동등성 조건 지정
  • 쿼리 연산자를 사용하여 조건 지정
  • 논리 연산자 지정(AND / OR)
  • 읽기 동작
  • 추가 쿼리 튜토리얼

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 컬렉션에서 titleTitanic에 해당하는 영화를 모두 반환합니다

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")

참고

이 쿼리는 $or 연산자를 사용하여 표현할 수 있지만 동일한 필드에서 동일성 검사를 수행할 때는 $or 연산자 대신 $in 연산자를 사용합니다.

복합 쿼리는 컬렉션의 문서에 포함된 하나 이상의 필드에 조건을 지정할 수 있습니다. 암시적으로, 논리 접속사 AND는 복합 쿼리의 절을 연결하여 쿼리가 컬렉션에서 모든 조건에 일치하는 문서를 선택하도록 합니다.

예시

멕시코에서 개봉되었으며 IMDB 평점이 7 이상인 영화를 반환하려면 다음을 실행합니다.

use sample_mflix
db.movies.find( { countries: "Mexico", "imdb.rating": { $gte: 7 } } )

$or 연산자를 사용하여 각 절을 논리적 OR 접속사로 결합하는 복합 쿼리를 지정하면 쿼리가 컬렉션에서 조건이 하나 이상 일치하는 문서를 선택합니다.

예시

sample_mflix.movies 컬렉션에서 2010년에 개봉했고 영화상을 5개 이상 수상했거나 Dramagenre 장르에 해당하는 영화를 반환하려면 아래를 실행합니다.

use sample_mflix
db.movies.find( {
year: 2010,
$or: [ { "awards.wins": { $gte: 5 } }, { genres: "Drama" } ]
} )

문서 읽기의 특정 동작에 대해 자세히 알아보려면 동작을 참조하세요.

추가 쿼리 예시는 아래에서 확인 가능합니다.

돌아가기

Insert