Docs Menu
Docs Home
/ / /
Scala
/

프로젝션

이 페이지의 내용

  • 포함
  • Exclusion
  • _id 필드 제외
  • 지정된 필터와 배열 요소 일치
  • 암시적 필터를 사용한 배열 요소 일치
  • 슬라이스
  • 텍스트 점수
  • 프로젝션 결합

프로젝션 클래스는 MongoDB 프로젝션 연산자를 위한 정적 팩토리 메서드를 제공합니다. 각 메서드는 유형의 인스턴스 Bson 를 반환하며, 이 인스턴스는 프로젝션 이 필요한 모든 메서드에 차례로 전달될 수 있습니다.

다음 코드와 같이 Projections 클래스의 메서드를 정적으로 가져올 수 있습니다.

import org.mongodb.scala.model.Projections._

이 가이드의 예제에서는 이러한 정적 가져오기를 가정합니다.

기본적으로 각 문서의 모든 필드가 결과에 포함됩니다. _id 제외한 다른 모든 필드를 암시적으로 제외하는 하나 이상의 필드를 포함하도록 지정하려면 include() 메서드를 사용합니다.

다음 예제에는 quantity 필드와 암시적으로 _id 필드가 포함되어 있습니다.

include("quantity")

다음 예제에는 quantitytotalAmount 필드와 암시적으로 _id 필드가 포함됩니다.

include("quantity", "totalAmount")

다른 모든 필드를 암시적으로 포함하는 하나 이상의 필드 제외를 지정하려면 exclude() 메서드를 사용합니다.

다음 예시에서는 quantity 필드를 제외합니다:

include("수량")

다음 예시에서는 quantitytotalAmount 필드를 제외합니다.

exclude("quantity", "totalAmount")

_id 필드 제외를 지정하려면 excludeId() 메서드를 사용합니다.

excludeId()

이는 다음 코드와 동일합니다.

exclude("_id")

제공된 쿼리 필터와 일치하는 배열의 첫 번째 요소만 포함하는 프로젝션을 지정하려면 필드 이름과 필터를 사용하는 elemMatch() 메서드를 사용합니다.

다음 예제에서는 quantity 필드가 3 보다 큰 orders 배열 필드의 첫 번째 요소를 프로젝션합니다.

elemMatch("orders", Filters.gt("quantity", 3))

쿼리의 일부로 제공된 필터와 일치하는 배열의 첫 번째 요소만 포함하는 프로젝션을 지정하려면 필드 이름만 사용하는 elemMatch() 메서드를 사용합니다.

다음 예시에서는 쿼리 필터와 일치하는 orders 배열의 첫 번째 요소를 프로젝션합니다.

elemMatch("orders")

배열의 슬라이스를 프로젝션하려면 slice() 메서드 중 하나를 사용합니다.

다음 예제에서는 tags 배열의 첫 번째 7 요소를 프로젝션합니다.

slice("tags", 7)

다음 예제에서는 tags 배열의 처음 2 요소를 건너뛰고 다음 5 를 프로젝션합니다.

slice("tags", 2, 5)

$text 쿼리 점수의 프로젝션을 지정하려면 metaTextScore() 메서드를 사용하여 프로젝션된 필드의 이름을 지정합니다.

다음 예시에서는 텍스트 점수를 score 필드의 값으로 투영합니다.

metaTextScore("score")

여러 프로젝션을 결합하려면 필드 메서드를 사용합니다.

다음 예시에는 quantitytotalAmount 필드가 포함되어 있으며 _id 필드는 제외됩니다:

fields(include("quantity", "totalAmount"), excludeId())

돌아가기

필터