Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.

Usar padrão de código da Builders

Esta página descreve como usar os vários construtores disponíveis em seu código e descreve os benefícios de usar os construtores fornecidos.

O driver Kotlin Sync fornece classes e métodos de construtor com segurança de tipo que permitem que os desenvolvedores criem query e agregações com eficiência.

Para saber mais sobre as classes e métodos de construtor disponíveis, consulte as seguintes seções de documentação da API:

Observação

Validação de entrada

As classes de construtores passam valores de entrada para a operação MongoDB subjacente e não higienizam esses valores. Valide a entrada no seu aplicativo antes de passá-la para um método construtor.

Se você usar apenas o Kotlin simples para construir documentos de query BSON, não poderá identificar erros de sintaxe até o tempo de execução. Os construtores ajudam a garantir a correção da sintaxe e podem ser menos prolixo do que a construção de documentos BSON.

Esta seção fornece três maneiras equivalentes de buscar os valores de campo email de documentos na coleção users que atendem aos seguintes critérios:

  • gender o valor é "female"

  • age o valor é maior que 29

A seguinte classe de dados modela os documentos na coleção users :

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

A seguinte classe de dados modela os resultados retornados pela query:

data class Email( val email: String)

O exemplo a seguir executa a query usando a MongoDB Query API:

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

O exemplo a seguir executa a query utilizando a classe Document para construir o filtro de query:

val filter = Document("gender", "female").append("age", Document("\$gt", 29))val projection = Document("_id", 0).append("email", 1)val results = collection.find<Email>(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 exemplo a seguir executa a query usando os ajudantes do construtor:

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<Email>(filter).projection(projection)

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 .