Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/ / /
Driver Scala
/

Classe de construtor de projeções

The Projections class provides static factory methods for the MongoDB projection operators. Each method returns an instance of the Bson type, which can in turn be passed to any method that expects a projection.

Você pode importar os métodos da classe Projections estaticamente, como mostrado no seguinte código:

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

Os exemplos deste guia pressupõem essa importação estática.

Por padrão, todos os campos de cada documento são incluídos nos resultados. Para especificar a inclusão de um ou mais campos, que exclui implicitamente todos os outros campos exceto _id, utilize o método include() .

O exemplo seguinte inclui o campo quantity e, implicitamente, o campo _id :

include("quantity")

O exemplo seguinte inclui os totalAmount e, quantity , o _id :

include("quantity", "totalAmount")

Para especificar a exclusão de um ou mais campos, que inclui implicitamente todos os outros campos, utilize o método exclude() .

O exemplo seguinte exclui o campo quantity:

exclude("quantidade")

O exemplo seguinte exclui os campos quantity e totalAmount:

exclude("quantity", "totalAmount")

Para especificar a exclusão do campo _id , use o método excludeId() :

excludeId()

Isso equivale ao seguinte código:

exclude("_id")

Para especificar uma projeção que inclua somente o primeiro elemento de uma array que corresponda a um filtro de query fornecido, use o método elemMatch() que usa um nome de campo e um filtro.

O exemplo seguinte projeta o primeiro elemento do campo de array orders , onde o campo quantity é maior que 3:

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

Para especificar uma projeção que inclua somente o primeiro elemento de uma array que corresponda ao filtro fornecido como parte da query, use o método elemMatch() que usa apenas um nome de campo.

O exemplo a seguir projeta o primeiro elemento da array orders que corresponde ao filtro de query:

elemMatch("orders")

Para projetar uma fatia de uma array, use um dos métodos slice() .

O exemplo seguinte projeta os primeiros elementos 7 da array tags :

slice("tags", 7)

O exemplo a seguir pula os primeiros 2 elementos da tags array e projeta o próximo 5:

slice("tags", 2, 5)

Para especificar uma projeção da pontuação de uma query do $text , utilize o método metaTextScore() para especificar o nome do campo projetado.

O exemplo seguinte projeta a pontuação de texto como o valor do campo score:

metaTextScore("score")

Para combinar múltiplas projeções, use o método de campos.

O exemplo seguinte inclui os campos quantity e totalAmount e exclui o campo _id:

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

Voltar

Classe do construtor de filtros

Nesta página