Visão geral
Neste guia, você pode aprender como usar bancos de dados e coleções MongoDB com o driver Kotlin Sync.
O MongoDB organiza os dados em uma hierarquia dos seguintes níveis:
Bancos de dados: Estruturas de dados de nível superior em um MongoDB deployment que armazenam collections.
Collections: grupos de documentos do MongoDB . Elas são análogas às tabelas do banco de dados relacional.
Documentos: unidades que armazenam dados literais, como string, números, datas e outros documentos incorporados. Para obter mais informações sobre os tipos e estrutura de campo de documento , consulte o guia Documentos no manual do MongoDB Server .
Acessar um banco de dados
Para acessar um banco de dados, passe o nome do banco de dados para o método getDatabase()
.
O exemplo a seguir acessa um banco de dados denominado test_database
:
val db = client.getDatabase("test_database")
Acessar uma coleção
Para acessar uma coleção, passe o nome do banco de dados para o método getCollection()
.
O exemplo a seguir acessa uma coleção denominada test_collection
:
val collection = db.getCollection("test_collection")
Dica
Se o nome da coleção fornecido ainda não existir no banco de dados, o MongoDB criará implicitamente a coleção quando você inserir os dados pela primeira vez nela.
Criar uma coleção
Para criar explicitamente uma coleção em um banco de dados MongoDB , passe um nome de coleção para o método createCollection()
.
O exemplo a seguir cria uma collection chamada example_collection
:
db.createCollection("example_collection")
Você pode especificar opções de collection, como tamanho máximo e regras de validação de documento , definindo-as em uma instância do CreateCollectionOptions
. Em seguida, passe o CreateCollectionOptions
para o método createCollection()
. Para obter uma lista completa de parâmetros opcionais, consulte a documentação da API CreateCollectionOptions.
Obter uma lista de coleções
Você pode executar query de uma lista de coleções em um banco de dados ligando para o método listCollections()
. O método retorna um cursor contendo todas as collections no banco de dados e seus metadados associados.
O exemplo a seguir chama o método listCollections()
e itera sobre o iterador retornado para imprimir as coleções dos exemplos Acessar uma coleção e Criar uma coleção :
val results = db.listCollections() val jsonSettings = JsonWriterSettings.builder().indent(true).build() results.forEach { result -> println(result.toJson(jsonSettings)) }
{ "name": "example_collection", "type": "collection", "options": {}, "info": { "readOnly": false, ... }, "idIndex": { ... } } { "name": "test_collection", "type": "collection", "options": {}, "info": { "readOnly": false, ... }, "idIndex": { ... } }
Excluir uma coleção
Para excluir uma collection do banco de dados, chame o método drop()
na sua collection.
O exemplo a seguir exclui a collection test_collection
:
db.getCollection("test_collection").drop()
Aviso
Eliminar uma coleção exclui todos os dados da coleção
Descartar uma collection do seu banco de dados exclui permanentemente todos os documentos e todos os índices dessa collection.
Solte uma coleção somente se não precisar mais dos dados nela.
Configurar operações de leitura e escrita
Você pode controlar como as operações de leitura e gravação são executadas em conjuntos de réplicas especificando uma preferência de leitura, preocupação de leitura ou preocupação de gravação.
Por padrão, os bancos de dados herdam configurações de leitura e gravação da instância MongoClient
. As coleções herdam essas configurações da instância MongoClient
ou MongoDatabase
na qual o método getCollection()
é chamado. Você pode alterar essas configurações ligando para os seguintes métodos:
Para saber mais sobre como definir uma preferência de leitura, preocupação de leitura e preocupação de gravação, consulte o guia Configurar operações CRUD.
Documentação da API
Para saber mais sobre qualquer um dos métodos ou tipos discutidos neste guia, consulte a seguinte documentação da API: