Visão geral
Este guia mostra como usar bancos de dados e collections do MongoDB com o driver Java do MongoDB.
O MongoDB organiza os dados em uma hierarquia dos seguintes níveis:
Bancos de dados
Collections
Documentos
Bancos de dados são o nível mais alto de organização de dados em uma instância MongoDB. Os bancos de dados são organizados em collections que contêm documentos. Os documentos contêm dados literais, como strings, números e datas, bem como outros documentos (incorporados). Para obter mais informações sobre tipos de campo de documento e estrutura, consulte a documentação do servidor para documentos do .
Acessar um banco de dados
Utilize o método getDatabase() de uma MongoClient
instância do para acessar um MongoDatabase
em uma instância do MongoDB .
O exemplo a seguir acessa um banco de dados chamado "testDatabase":
MongoDatabase database = mongoClient.getDatabase("testDatabase");
Acessar uma coleção
Utilize o método getCollection() de uma MongoDatabase
instância do para acessar um MongoCollection
em um banco de dados de sua instância MongoDB conectada.
O exemplo a seguir acessa uma coleção denominada "testCollection" de um MongoDatabase
:
MongoDatabase database = mongoClient.getDatabase("testDatabase"); MongoCollection<Document> collection = database.getCollection("testCollection");
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 nessa coleção.
Criar uma coleção
Utilize o método createCollection() de uma MongoDatabase
instância do para criar uma coleção em um banco de dados de sua instância MongoDB conectada.
O exemplo a seguir cria uma coleção chamada "exampleCollection":
database.createCollection("exampleCollection");
Você pode especificar opções de collection, como tamanho máximo e regras de validação de documento , usando a classe CreateCollectionOptions . O createCollection()
método aceita uma instância de CreateCollectionOptions
como um segundo parâmetro opcional.
Validação do documento
Avalidação de documentos oferece a capacidade de validar documentos em relação a uma série de filtros durante as gravações em uma collection. Você pode especificar estes filtros usando a classe ValidationOptions , que aceita uma série de Filtros para especificar as regras e expressões de validação:
ValidationOptions collOptions = new ValidationOptions().validator( Filters.or(Filters.exists("commander"), Filters.exists("first officer"))); database.createCollection("ships", new CreateCollectionOptions().validationOptions(collOptions));
Para obter mais informações, consulte a documentação do servidor para validação de documentos.
Obter uma lista de coleções
Você pode executar uma consulta de uma lista de coleções em um banco de dados utilizando MongoDatabase.listCollectionNames() :
for (String name : database.listCollectionNames()) { System.out.println(name); }
Solte uma coleção
Você pode remover uma coleção do banco de dados usando o método MongoCollection.drop() :
MongoCollection<Document> collection = database.getCollection("bass"); collection.drop();
Aviso
Eliminar uma coleção exclui todos os dados da coleção
Descartar uma collection do seu banco de dados também exclui permanentemente todos os documentos e todos os índices dessa collection. Somente descarte collections que contenham dados que não são mais necessários.
Especifique o read preference, read concern e write concern
As preferências de leitura, as write concerns e as read concerns controlam como o driver direciona as operações de leitura e espera a confirmação das operações de leitura e gravação quando conectado a um conjunto de réplicas do MongoDB. As preferências de leitura e as preocupações de leitura se aplicam a todas as operações de leitura; as write concerns se aplicam a todas as operações de gravação.
MongoDatabase
instâncias herdam suas configurações de write concern, read concern e write preference do MongoClient
usado para criá-las. instâncias MongoCollection
herdam suas configurações de write concern, read concern e write preference do MongoDatabase
usado para criá-las. No entanto, você pode usar os seguintes métodos para obter uma instância de um MongoDatabase
ou MongoCollection
com uma read preference, read concern ou write preference que difere da configuração que elas normalmente herdariam:
Dica
Os métodos withReadConcern()
, withReadPreference()
e withWriteConcern
criam uma nova instância de um MongoDatabase
ou MongoCollection
com a preferência ou preocupação desejada. O MongoDatabase
ou MongoCollection
sobre o qual o método é chamado mantém suas configurações originais de preferência e preocupação.
Para obter mais informações, consulte a documentação do servidor sobre preferências de leitura, Preocupações de leitura e preocupações de gravação.