En aquest mòdul, aprendrem com integrar MongoDB amb C#, un dels llenguatges de programació més utilitzats en el desenvolupament d'aplicacions empresarials. Explorarem com connectar-se a una base de dades MongoDB, realitzar operacions CRUD (Crear, Llegir, Actualitzar, Eliminar) i utilitzar algunes de les funcionalitats avançades de MongoDB.

Continguts

Instal·lació de MongoDB Driver per a C#

Per començar a treballar amb MongoDB a C#, necessitem instal·lar el driver oficial de MongoDB per a .NET. Utilitzarem NuGet per a això.

Passos:

  1. Obre el teu projecte a Visual Studio.
  2. Obre la consola de Gestió de Paquets NuGet.
  3. Executa la següent comanda per instal·lar el driver de MongoDB:
Install-Package MongoDB.Driver

Connexió a MongoDB

Un cop instal·lat el driver, el següent pas és connectar-se a la base de dades MongoDB.

Exemple de Connexió:

using MongoDB.Bson;
using MongoDB.Driver;
using System;

namespace MongoDBExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // Cadena de connexió a MongoDB
            var connectionString = "mongodb://localhost:27017";
            var client = new MongoClient(connectionString);

            // Accedint a la base de dades
            var database = client.GetDatabase("exampleDB");

            Console.WriteLine("Connexió a MongoDB establerta!");
        }
    }
}

Operacions CRUD

Crear Documents

Per crear documents a MongoDB, primer hem de definir una classe que representi l'estructura del document.

public class User
{
    public ObjectId Id { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }
}

Exemple de Creació:

var collection = database.GetCollection<User>("users");

var newUser = new User { Name = "John Doe", Age = 30 };
collection.InsertOne(newUser);

Console.WriteLine("Document creat!");

Llegir Documents

Per llegir documents, podem utilitzar diferents mètodes de consulta.

Exemple de Lectura:

var users = collection.Find(user => user.Age > 25).ToList();

foreach (var user in users)
{
    Console.WriteLine($"Nom: {user.Name}, Edat: {user.Age}");
}

Actualitzar Documents

Per actualitzar documents, utilitzem el mètode UpdateOne o UpdateMany.

Exemple d'Actualització:

var filter = Builders<User>.Filter.Eq("Name", "John Doe");
var update = Builders<User>.Update.Set("Age", 31);

collection.UpdateOne(filter, update);

Console.WriteLine("Document actualitzat!");

Eliminar Documents

Per eliminar documents, utilitzem el mètode DeleteOne o DeleteMany.

Exemple d'Eliminació:

var deleteFilter = Builders<User>.Filter.Eq("Name", "John Doe");
collection.DeleteOne(deleteFilter);

Console.WriteLine("Document eliminat!");

Exemple Pràctic

A continuació, es mostra un exemple complet que inclou totes les operacions CRUD.

using MongoDB.Bson;
using MongoDB.Driver;
using System;
using System.Collections.Generic;

namespace MongoDBExample
{
    public class User
    {
        public ObjectId Id { get; set; }
        public string Name { get; set; }
        public int Age { get; set; }
    }

    class Program
    {
        static void Main(string[] args)
        {
            var connectionString = "mongodb://localhost:27017";
            var client = new MongoClient(connectionString);
            var database = client.GetDatabase("exampleDB");
            var collection = database.GetCollection<User>("users");

            // Crear
            var newUser = new User { Name = "John Doe", Age = 30 };
            collection.InsertOne(newUser);
            Console.WriteLine("Document creat!");

            // Llegir
            var users = collection.Find(user => user.Age > 25).ToList();
            foreach (var user in users)
            {
                Console.WriteLine($"Nom: {user.Name}, Edat: {user.Age}");
            }

            // Actualitzar
            var filter = Builders<User>.Filter.Eq("Name", "John Doe");
            var update = Builders<User>.Update.Set("Age", 31);
            collection.UpdateOne(filter, update);
            Console.WriteLine("Document actualitzat!");

            // Eliminar
            var deleteFilter = Builders<User>.Filter.Eq("Name", "John Doe");
            collection.DeleteOne(deleteFilter);
            Console.WriteLine("Document eliminat!");
        }
    }
}

Conclusió

En aquest mòdul, hem après com integrar MongoDB amb C#, des de la instal·lació del driver fins a la realització d'operacions CRUD bàsiques. Aquest coneixement és fonamental per desenvolupar aplicacions que necessiten emmagatzemar i gestionar dades de manera eficient. En els següents mòduls, explorarem funcionalitats més avançades i com optimitzar el rendiment de les nostres aplicacions MongoDB.

© Copyright 2024. Tots els drets reservats