Menu Docs
Página inicial do Docs
/ / /
Kotlin Coroutine
/

Construtores

Esta seção inclui guias sobre como usar cada um dos construtores disponíveis e demonstra a utilidade que as classes do construtor de drivers Kotlin fornecem.

O driver Kotlin fornece classes para simplificar o processo de execução de operações CRUD e de uso da API de agregação. Os métodos utilitários estáticos permitem criar queries e outros tipos de documentos com mais eficiência.

Ao usar classes de construtores, você aproveita os seguintes produtos:

  • O compilador Kotlin para encontrar erros durante o desenvolvimento

  • O IDE para descoberta, depuração e conclusão de código

Ao usar construtores, o compilador Kotlin e o IDE detectam erros como operadores com erros ortográficos ou parâmetros ausentes no início. Se você usar o shell do MongoDB ou o Kotlin simples, escreverá operadores como strings e não obterá nenhuma indicação visual de um problema, o que envia esses erros para o tempo de execução em vez de compilar.

Ao usar classes de construtores, você pode escrever operadores como métodos, para que seu IDE indique instantaneamente se seu código tem erros. Durante o desenvolvimento, seu IDE também pode mostrar métodos que você pode usar e pode completar seu código com parâmetros de espaço reservado.

Suponha que você queira enviar um e-mail marketing a todos os usuários da collection users que atendam aos seguintes critérios:

  • Usuários em que o valor do campo gender é "female"

  • Usuários em que o valor do campo age é maior que 29

Você também precisa que sua query retorne apenas os endereços de e-mail deles.

Os documentos na coleção users são modelados pela seguinte classe de dados :

data class User(
@BsonId
val id: BsonObjectId = BsonObjectId(),
val gender: String,
val age: Int,
val email: String,
)

O código a seguir fornece o comando que você usa na shell do MongoDB para executar a query:

collection.find({ "gender": "female", "age" : { "$gt": 29 }}, { "_id": 0, "email": 1 })

O código a seguir fornece a operação de localização que você cria sem construtores no driver Kotlin :

data class Results(val email: String)
val filter = Document().append("gender", "female").append("age", Document().append("\$gt", 29))
val projection = Document().append("_id", 0).append("email", 1)
val results = collection.find<Results>(filter).projection(projection)

Nesse caso, você pode incluir facilmente um erro ao escrever o operador "\$gt" no filtro, mas seu IDE retorna o erro relevante somente no tempo de execução.

O código a seguir fornece a operação de localização que você cria usando construtores no driver Kotlin :

import com.mongodb.client.model.Filters
import com.mongodb.client.model.Projections
data class Results(val email: String)
val filter = Filters.and(Filters.eq(User::gender.name, "female"), Filters.gt(User::age.name, 29))
val projection = Projections.fields(Projections.excludeId(), Projections.include("email"))
val results = collection.find<Results>(filter).projection(projection)
  • Agregados para construção de pipelines de agregação.

    • Atlas Vector Search para usar o Aggregates.vectorSearch() método para usar a funcionalidade Atlas Vector Search .

  • Filtros para criar filtros de query.

  • Índices para criação de chaves de índice.

  • Projeções para criar projeções.

  • Classificar para criar critérios de classificação.

  • Updates das atualizações de construção.

O guia Usar Construtores com Classes de Dados fornece exemplos sobre como usar as classes de construtores anteriores diretamente com as propriedades da classe de dados. Este guia pode ajudar a tornar seu aplicação mais seguro de tipo e melhorar a interoperabilidade do Kotlin .

Voltar

Operações compostas

Nesta página