Menu Docs
Página inicial do Docs
/ / /
C#/.NET
/ /

Guia de conexão

Nesta página

  • URI de conexão
  • Configurações do Mongo Client
  • Outros alvos de conexão
  • Conectar-se ao Atlas
  • Conectar a um conjunto de réplicas

Este guia mostra como se conectar a uma instância MongoDB ou implantação de conjunto de réplica usando o Driver .NET/C#.

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;
// Sets the connection URI
const string connectionUri = "mongodb://localhost:27017";
// Creates a new client and connects 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 the MongoDB Manual para obter mais informações sobre como criar uma string de conexão.

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;
// Creates a MongoClientSettings object
var settings = new MongoClientSettings()
{
Scheme = ConnectionStringScheme.MongoDB,
Server = new MongoServerAddress("localhost", 27017)
};
// Creates a new client and connects to the server
var client = new MongoClient(settings);

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);
// Sets the ServerApi field of the settings object to Stable API version 1
settings.ServerApi = new ServerApi(ServerApiVersion.V1);
// Creates a new client and connects to the server
var client = new MongoClient(settings);
// Sends 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.

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âmetro directConnection.

  • 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;
// Sets the connection URI than includes the replica set name
const string connectionUri = "mongodb://sample.host1:27017/?replicaSet=sampleRS";
// Creates a new client and connects to the server
var client = new MongoClient(connectionUri);

Voltar

Conexão