MongoDB.Driver para C# (.NET): guia completo com exemplos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

MongoDB.Driver para C# (.NET): guia completo

1. O que é e para que serve

MongoDB.Driver é o driver oficial, de alta performance e assíncrono para conectar aplicações .NET (C#, F#, VB.NET) ao banco de dados MongoDB. Ele oferece um conjunto completo de ferramentas para realizar todas as operações CRUD (Create, Read, Update, Delete), gerenciar índices, agregar dados, trabalhar com transações e processar alterações em tempo real (Change Streams). Desenvolvido e mantido pela MongoDB Inc., o driver garante total compatibilidade com as versões mais recentes do MongoDB e implementa todos os recursos modernos do SGBD.

Para que serve esta biblioteca? Se você está desenvolvendo uma aplicação .NET (um web service em ASP.NET Core, um aplicativo desktop em WPF, um utilitário de console ou um microsserviço) e deseja usar o MongoDB como armazenamento principal ou auxiliar, precisa de um driver para estabelecer a conexão e trocar dados. O MongoDB.Driver abstrai a complexidade do protocolo de rede do MongoDB (Wire Protocol), fornecendo uma API conveniente e fortemente tipada. Você trabalha com objetos C#, e o driver os serializa automaticamente para BSON (formato binário do MongoDB) e vice-versa. Isso permite escrever código conciso, seguro e eficiente, sem se preocupar com detalhes de baixo nível.

A biblioteca suporta dois paradigmas principais: síncrono e assíncrono (recomendado). Os métodos assíncronos (com o sufixo Async) evitam o bloqueio de threads, algo essencial para aplicações server-side escaláveis. O driver também inclui um provedor LINQ que traduz consultas LINQ para a sintaxe do MongoDB Aggregation Pipeline, tornando o código ainda mais declarativo e familiar para desenvolvedores .NET.

2. Instalação

A instalação é feita através do gerenciador de pacotes NuGet. Execute um dos comandos abaixo no Console do Gerenciador de Pacotes (Package Manager Console) ou no terminal do .NET CLI.

Via .NET CLI (recomendado):

dotnet add package MongoDB.Driver

Via Package Manager Console (Visual Studio):

Install-Package MongoDB.Driver

Para projetos que usam Entity Framework Core (opcional):

Existe um provedor separado chamado MongoDB.EntityFrameworkCore, mas para a maioria dos casos o driver principal é suficiente.

Após a instalação, a seguinte referência será adicionada ao arquivo de projeto (.csproj):

<PackageReference Include="MongoDB.Driver" Version="2.25.0" />

3. Início rápido — exemplo funcional mínimo

O código abaixo conecta-se a uma instância local do MongoDB, obtém o banco de dados "testdb", a coleção "users", insere um documento e exibe seu ID no console.

using MongoDB.Bson;
using MongoDB.Driver;

// 1. Cria o cliente (conexão com o servidor)
var client = new MongoClient("mongodb://localhost:27017");

// 2. Obtém o banco de dados (criado automaticamente se não existir)
var database = client.GetDatabase("testdb");

// 3. Obtém a coleção (criada automaticamente na primeira inserção)
var collection = database.GetCollection<BsonDocument>("users");

// 4. Cria o documento
var document = new BsonDocument
{
    { "name", "Alice" },
    { "age", 30 },
    { "city", "São Paulo" }
};

// 5. Insere o documento (de forma assíncrona)
await collection.InsertOneAsync(document);

// 6. Exibe o ID gerado
Console.WriteLine($"Documento inserido com ID: {document["_id"]}");

// 7. Lê todos os documentos da coleção
var allUsers = await collection.Find(new BsonDocument()).ToListAsync();
foreach (var user in allUsers)
{
    Console.WriteLine(user.ToJson());
}

4. Principais métodos/funções/classes

4.1 Mon

Recommendations