Criar um MongoClient
Visão geral
Para se conectar a um MongoDB deployment, você precisa de duas coisas:
Um URI de conexão, também conhecido como string de conexão, que informa ao driver do Kotlin Sync a qual deployment do MongoDB se conectar.
Um objeto MongoClient , que cria a conexão e executa operações no sistema MongoDB .
Você também pode usar o MongoClientSettings
para personalizar a maneira como o driver Kotlin Sync se comporta enquanto conectado ao MongoDB.
Este guia mostra como criar uma string de conexão e usar um objeto MongoClient
para se conectar ao MongoDB.
URI de conexão
Uma connection string padrão inclui os seguintes componentes:
Componente | Descrição |
---|---|
mongodb:// | Obrigatório. Um prefixo que identifica isso como uma string no formato de conexão padrão. |
username:password | Opcional. Credenciais de autenticação. Se você incluir estes, o cliente autenticará o usuário no banco de banco de dados especificado no authSource . |
host[:port] | Obrigatório. O host e o número da porta opcional em que o MongoDB está sendo executado. Se você não incluir o número da porta, o driver usará a porta padrão, 27017 . |
/defaultauthdb | Opcional. O authentication database de autenticação a ser usado se a connection string incluir as credenciais de autenticação username:password@ , mas não a opção authSource . Se você não incluir este componente, o cliente autenticará o usuário no banco de dados do admin . |
?<options> | Opcional. Uma string de consulta que especifica opções específicas de conexão como <name>=<value> pares. Consulte Especificar opções de conexão para obter uma descrição completa dessas opções. |
Para obter mais informações sobre a criação de uma connection string, consulte connection strings na documentação do MongoDB Server .
Exemplo de conexão do Atlas
Para se conectar a uma implementação do MongoDB no Atlas, você deve primeiro criar um cliente.
Você pode passar um URI de conexão como uma string para o método MongoClient.create()
para se conectar a uma instância do MongoDB :
// Replace the placeholder with your Atlas connection string val uri = "<connection string>" // Create a new client and connect to the server val mongoClient = MongoClient.create(uri) val database = mongoClient.getDatabase("sample_mflix")
Você também pode criar um cliente com suas configurações desejadas passando um objeto MongoClientSettings
para o método MongoClient.create()
.
Para instanciar um objeto MongoClientSettings
, use o método construtor para especificar sua string de conexão, usando o método applyConnectionString()
e quaisquer outras opções do cliente . Depois de ter a configuração desejada, chame o método build()
.
Você pode definir a opção de cliente da stable API para evitar alteração interruptiva ao atualizar para uma nova versão do servidor. Para saber mais sobre o recurso de stable API, consulte a página de stable API.
O código a seguir mostra como você pode especificar a cadeia de conexão e a opção de cliente Stable API ao se conectar a uma implementação do MongoDB no Atlas e verificar se a conexão foi bem-sucedida:
// start-connect-to-atlas-w-uri // Replace the placeholder with your Atlas connection string val uri = "<connection string>" val mongoClient1 = MongoClient.create(uri) // end-connect-to-atlas-w-uri // Construct a ServerApi instance using the ServerApi.builder() method val serverApi = ServerApi.builder() .version(ServerApiVersion.V1) .build() val settings = MongoClientSettings.builder() .applyConnectionString(ConnectionString(uri)) .serverApi(serverApi) .build() // Create a new client and connect to the server val mongoClient = MongoClient.create(settings) val database = mongoClient.getDatabase("sample_mflix") try { // Send a ping to confirm a successful connection val command = Document("ping", BsonInt64(1)) val commandResult = database.runCommand(command) println("Pinged your deployment. You successfully connected to MongoDB!") } catch (me: MongoException) { System.err.println(me) }
Documentação da API
Para obter mais informações sobre como criar um objeto MongoClient
com o driver Kotlin Sync, consulte a seguinte documentação da API: