EventoObtenha 50% de desconto no seu ingresso para MongoDB.local Londres em outubro 2. Use o código WEB50Saiba mais >>
Desenvolvedor MongoDB
Central de desenvolvedor do MongoDBchevron-right
Idiomaschevron-right
C#chevron-right

Crie seu primeiro aplicativo .NET Core com o MongoDB Atlas

Nic Raboy6 min read • Published Jan 31, 2022 • Updated Jun 04, 2024
.NETC#
Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Início rápido
star-empty
star-empty
star-empty
star-empty
star-empty
Você é um desenvolvedor .NET Core ou está tentando se tornar um e gostaria de incluir um banco de dados no mix. O MongoDB é uma ótima escolha e é muito fácil de usar em seus projetos .NET Core.
Neste tutorial, vamos explorar operações CRUD simples em um aplicativo .NET Core, algo que fará com que você se familiarize rapidamente!

Os requisitos

Para que este tutorial cumpra sua finalidade, você precisará ter algumas coisas prontas para usar.
  • .NET Core instalado e configurado.
  • MongoDB Atlas cluster, M0 ou superior, implantado e configurado.
Ambos estão fora do escopo deste tutorial específico, mas você pode consultar este tutorial para obter instruções mais específicas sobre implantações do MongoDB Atlas. Você pode confirmar que o .NET Core está pronto executando o seguinte comando:
Vamos construir um aplicativo de console, mas exploraremos o desenvolvimento de API em um tutorial posterior. O projeto "MongoExample" é o que usaremos no restante deste tutorial.

Instalação e configuração do driver do MongoDB para desenvolvimento do .NET Core

Ao construir aplicativos C#, o gerenciador de pacotes comum a ser usado é o NuGet, algo que está facilmente disponível no Visual Studio. Se você estiver usando o Visual Studio, poderá adicionar o seguinte:
No entanto, estou em um Mac, uso uma variedade de linguagens de programação e escolhi o Visual Studio Code como o IDE ideal para mim. Não existe uma extensão oficial do NuGet para o Visual Studio Code, mas isso não significa que estamos presos.
Execute o seguinte a partir de uma CLI enquanto estiver no diretório do projeto:
O comando acima adicionará uma entrada ao arquivo "MongoExample.csproj" do seu projeto e baixará as dependências necessárias. Isso é importante, usando o Visual Studio Code ou não.
Se você gerou o projeto .NET Core com a CLI como eu criei, você terá um arquivo "Program.cs" com o qual trabalhar. Abra e adicione o seguinte código:
O código acima se conecta a um MongoDB Atlas cluster e depois imprime os nomes dos bancos de dados aos quais o usuário específico tem acesso. A impressão dos bancos de dados é opcional, mas pode ser uma boa maneira de garantir que tudo esteja funcionando corretamente.
Se você estiver se perguntando onde obter sua string ATLAS_URI_HERE, você pode encontrá-la no seu dashboard do MongoDB Atlas e clicando no botão de conexão no seu cluster.
String de conexão do MongoDB Atlas
String de conexão do MongoDB Atlas
A imagem acima deve ajudar ao procurar o URI do Atlas.

Construindo uma classe POCO para o modelo de documento MongoDB

Ao usar o .NET Core para trabalhar com documentos MongoDB, você pode usar a classe BsonDocument, mas dependendo do que você esteja tentando fazer, ela pode complicar seu aplicativo .NET Core. Em vez disso, gostaria de trabalhar com classes que são diretamente mapeadas para campos de documento. Isso me permite usar a classe naturalmente em C#, mas saiba que tudo funcionará por conta própria para documentos MongoDB.
Crie um arquivo "playlist.cs" dentro do seu projeto e inclua o seguinte código C#:
Na classe Playlist acima, temos três campos. Se você quiser que cada um desses campos mapeie perfeitamente um campo em um documento do MongoDB, não precisa fazer mais nada. Para ser claro, a classe acima mapearia para um documento parecido com o seguinte:
No entanto, se você quiser que o campo da classe C# seja diferente do campo que ele deve mapear em um documento do MongoDB, será necessário fazer uma pequena alteração. A classe Playlist ficaria mais ou menos assim:
Observe a nova importação e o uso de BsonElement para mapear um campo de documento remoto para um campo de classe local do .NET Core.
Há muitas outras coisas que você pode fazer em termos de mapeamento de documentos, mas elas estão fora do escopo deste tutorial específico. Se você tiver curiosidade sobre outras técnicas de mapeamento, consulte a documentação sobre o assunto.

Implementação de CRUD básico no .NET Core com o MongoDB

Como podemos nos conectar ao Atlas a partir de nosso aplicativo .NET Core e temos algum entendimento de como será nosso modelo de dados para o restante do exemplo, agora podemos trabalhar para criar, ler, atualizar e excluir (CRUD) documentos.
Vamos começar criando alguns dados. Dentro do arquivo "Program.cs" do projeto , faça com que ele fique assim:
No exemplo acima, estamos nos conectando ao MongoDB Atlas, obtendo uma referência à nossa coleção "playlist" enquanto observamos que ela está relacionada à nossa classe Playlist e, em seguida, fazendo uso da função InsertOne na coleção.
Se você executou o código acima, deverá ver um novo documento em sua coleção com informações correspondentes.
Então, vamos ler a partir dessa coleção usando nosso código C#:
No código acima, estamos criando um novo filtro FilterDefinition para determinar quais dados queremos retornar de nossa operação Find. Em particular, nosso filtro fornecerá todos os documentos que tenham "nraboy" como o campo username, que pode ser mais de um porque nunca especificamos se o campo deve ser exclusivo.
Usando o filtro, podemos fazer um Find na coleção e convertê-lo em um List de nossa classe Playlist. Se você não quiser usar um List, poderá trabalhar com seus dados usando um cursor. Você pode aprender mais sobre cursores na documentação.
Com o Find fora do caminho, vamos passar a atualizar nossos documentos no MongoDB.
Vamos adicionar ao nosso arquivo "Program.cs" com o seguinte código:
No código acima, estamos criando duas definições, uma sendo o FilterDefinition que criamos na etapa anterior. Vamos manter o mesmo filtro, mas estamos adicionando uma definição do que deve ser atualizado quando houver uma correspondência com base no filtro.
Para esclarecer, vamos fazer a correspondência em todos os documentos em que "nraboy" é o campo username. Quando houver correspondência, queremos adicionar "5678" à array items em nosso documento. Usando ambas as definições, podemos usar o método UpdateOne para fazer isso acontecer.
Há mais operações de atualização do que apenas a funçãoAddToSet. Vale a pena conferir a documentação para ver o que é possível fazer.
Isso nos leva à operação CRUD básica final. Vamos excluir o documento com o qual estamos trabalhando.
Dentro do arquivo "Program.cs", adicione o seguinte código C#:
Vamos usar o mesmo filtro que estamos usando, mas desta vez na função DeleteOne. Embora possamos ter mais de um documento retornado do nosso filtro, a função DeleteOne excluirá apenas o primeiro. Você pode usar a função DeleteMany se quiser excluir todos eles.
Precisa ver tudo junto? Dê uma olhada nisso:
O código acima é tudo o que fizemos. Se você trocasse a string URI do Atlas pela sua própria, ela criaria um documento, o leria, o atualizaria e, finalmente, o excluiria.

Conclusão

Você acabou de ver como começar a usar rapidamente o MongoDB em seu aplicativo .NET Core! Embora tenhamos apenas abordado o que é possível em termos de MongoDB, isso deve preparar você melhor para atender às necessidades do seu projeto.
Se você precisar de mais ajuda, confira os fóruns da MongoDB Community e participe.

Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Início rápido
star-empty
star-empty
star-empty
star-empty
star-empty
Relacionado
Tutorial

Crie um website de notícias sobre criptomoedas em C# usando o Microsoft Azure App Service e o MongoDB Atlas


Jun 13, 2023 | 9 min read
Tutorial

MongoDB Atlas Search com .NET Blazor para pesquisar texto completo


Feb 01, 2024 | 6 min read
Tutorial

Envio e solicitação de dados do MongoDB em um jogo Unity


Sep 09, 2024 | 8 min read
Tutorial

Como fazer pesquisa de texto completo em um aplicativo móvel com o MongoDB Realm


Jul 14, 2023 | 3 min read
Sumário