Usar padrão de código da Builders
Nesta página
Visão geral
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.
Por que usar Construtores?
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.
Exemplo
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 que29
A seguinte classe de dados modela os documentos na coleção users
:
data class User( val id: ObjectId, val gender: String, val age: Int, val email: String )
A seguinte classe de dados modela os resultados retornados por nossa query:
data class Email( val email: String )
API de query do MongoDB
O exemplo a seguir executa a consulta usando a API de consulta MongoDB:
collection.find( { "gender": "female", "age" : { "$gt": 29 }}, { "_id": 0, "email": 1 } )
Filtro de classe do documento
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)
Construtores
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)