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.
Excluir um banco de dados
Para excluir um banco de dados do seu MongoDB deployment, chame o método drop() no seu banco de dados.
O exemplo seguinte exclui o banco de dados do test_database:
client.getDatabase("test_database").drop()
Aviso
Eliminar um banco de dados exclui todos os dados do banco de dados
A eliminação de um banco de dados exclui permanentemente todas as coleções, documentos e índices desse banco de dados.
Solte um banco de dados somente se você não precisar mais dos dados nele.
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: