Docs Menu
Docs Home
/ / /
Ruby MongoDB Driver
/

프로젝션

이 페이지의 내용

  • 프로젝션 문서
  • 예시

기본적으로 MongoDB의 쿼리는 일치하는 문서의 모든 필드를 반환합니다. MongoDB가 애플리케이션으로 전송하는 데이터의 양을 제한하기 위해 쿼리 작업에 프로젝션 문서를 포함할 수 있습니다.

프로젝션 문서는 일치하는 모든 문서에 대해 반환할 필드를 제한합니다. 프로젝션 문서는 필드 포함 또는 필드 제외를 지정할 수 있으며 다음과 같은 형식을 갖습니다.

{ 'projection': { field1: <value>, field2: <value> ... } }

<value> 필드를 제외하려면 0 (또는 false)이고, 필드를 포함하려면 1 (또는 true)일 수 있습니다. _id 필드를 제외하고 동일한 프로젝션 문서에 포함과 제외가 모두 있을 수 없습니다.

다음 코드 예시에서는 restaurants 샘플 데이터 세트를 사용합니다.

쿼리 필터와 일치하는 문서에 대해 name, cuisine_id 필드만 반환하려면 프로젝션 문서에 namecuisine 필드를 명시적으로 포함합니다. _id 필드는 특별히 제외하지 않는 한 자동으로 포함됩니다.

client = Mongo::Client.new([ '127.0.0.1:27017' ], :database => 'test')
collection = client[:restaurants]
collection.find({}, { 'projection' =>
{ 'name' => 1, 'cuisine' => 1 } }).limit(5).each do |doc|
p doc
end

namecuisine 를 반환하되 _id 를 포함한 다른 모든 필드를 제외하려면 다음 프로젝션 문서를 사용합니다.

{ 'projection' => { 'name' => 1, 'cuisine' => 1, '_id' => 0 } }

주소 필드를 제외한 모든 필드를 반환하려면 다음을 사용합니다.

{ 'projection' => { 'address' => 0 } }

돌아가기

일괄 쓰기

이 페이지의 내용