Guia de conexão
Nesta página
Este guia mostra como se conectar a uma instância MongoDB ou implantação de conjunto de réplica usando o Driver .NET/C#.
URI de conexão
Um URI de conexão, também conhecido como cadeia de conexão, informa ao driver como se conectar a uma implantação do MongoDB e como se comportar enquanto estiver conectado.
Uma cadeia de conexão padrão inclui as seguintes partes:
Pedaço | 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 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 não incluir o número da porta, o driver utilizará a porta predefinida, 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 esta peça, o cliente autenticará o usuário no banco de dados do admin . |
?<options> | Opcional. Uma string de query que especifica opções específicas de conexão como <name>=<value> pares. Consulte Opções de conexão para obter uma descrição completa dessas opções. |
Para usar um URI de conexão, passe-o como uma string para o construtor MongoClient
. No exemplo a seguir, o driver usa um URI de conexão de exemplo para se conectar a uma instância do MongoDB na porta 27017
de localhost
:
using MongoDB.Driver; // Connection URI const string connectionUri = "mongodb://localhost:27017"; // Create a new client and connect to the server var client = new MongoClient(connectionUri);
Dica
Reutilize seu cliente
Como cada MongoClient
representa um pool de conexões com o banco de dados, a maioria dos aplicativos exige somente uma única instância de MongoClient
, mesmo em várias solicitações. Para saber mais sobre como os pools de conexões funcionam no driver, consulte a página de dúvidas frequentes.
Consulte o Manual do MongoDB para obter mais informações sobre a criação de uma string de conexão.
Configurações do Mongo Client
Você pode utilizar um objeto MongoClientSettings
para configurar a conexão no código em vez de em um URI de conexão. Para utilizar um objeto MongoClientSettings
, crie uma instância da classe e passe como argumento para o construtor MongoClient
.
No exemplo a seguir, o driver usa um objeto MongoClientSettings
para se conectar a uma instância MongoDB na porta 27017
de localhost
:
using MongoDB.Driver; // Create a MongoClientSettings object var settings = new MongoClientSettings() { Scheme = ConnectionStringScheme.MongoDB, Server = new MongoServerAddress("localhost", 27017) }; // Create a new client and connect to the server var client = new MongoClient(settings);
Outros alvos de conexão
Conectar-se ao Atlas
Para se conectar a uma implementação do MongoDB no Atlas, crie um cliente. Você pode criar um cliente que use sua connection string e outras opções do cliente passando um objeto MongoClientSettings
para o construtor MongoClient
.
Para especificar seu URI de conexão, passe-o para o método FromConnectionString()
, que retorna uma nova instância MongoClientSettings
. Para especificar quaisquer outras opções do cliente, defina os campos relevantes do objeto MongoClientSettings
.
Você pode definir a versão estável da API como uma opção do cliente para evitar alterações significativas ao atualizar para uma nova versão do servidor. Para saber mais sobre o recurso de API estável, consulte a página de API estável.
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 e verificar se a conexão foi bem-sucedida:
using MongoDB.Driver; using MongoDB.Bson; // Replace the placeholder with your Atlas connection string const string connectionUri = "<connection string>"; var settings = MongoClientSettings.FromConnectionString(connectionUri); // Set the ServerApi field of the settings object to Stable API version 1 settings.ServerApi = new ServerApi(ServerApiVersion.V1); // Create a new client and connect to the server var client = new MongoClient(settings); // Send a ping to confirm a successful connection try { var result = client.GetDatabase("admin").RunCommand<BsonDocument>(new BsonDocument("ping", 1)); Console.WriteLine("Pinged your deployment. You successfully connected to MongoDB!"); } catch (Exception ex) { Console.WriteLine(ex);}
Dica
Siga o guia de conexão do driver Atlas para recuperar sua string de conexão.
Conectar a um conjunto de réplicas
Para se conectar a um sistema de conjunto de réplicas, especifique o nome de host (ou endereço IP) e o número de porta dos membros do conjunto de réplicas.
Se você não conseguir fornecer uma lista completa de hosts no replica set, poderá especificar um ou mais hosts no replica set e instruir o driver a executar a descoberta automática de uma das seguintes maneiras:
Especifique o nome do conjunto de réplica como o valor do parâmetro
replicaSet
.Especifique
false
como o valor do parâmetrodirectConnection
.Especifique mais de um host no conjunto de réplica.
No exemplo a seguir, o driver usa um URI de conexão de exemplo para se conectar ao conjunto de réplicas do MongoDB sampleRS
, que está sendo executado na porta 27017
de três hosts diferentes, incluindo sample.host1
:
using MongoDB.Driver; // Connection URI const string connectionUri = "mongodb://sample.host1:27017/?replicaSet=sampleRS"; // Create a new client and connect to the server var client = new MongoClient(connectionUri);