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:
- Obre el teu projecte a Visual Studio.
- Obre la consola de Gestió de Paquets NuGet.
- Executa la següent comanda per instal·lar el driver de MongoDB:
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.
Curs de MongoDB
Mòdul 1: Introducció a MongoDB
Mòdul 2: Operacions CRUD a MongoDB
Mòdul 3: Modelatge de Dades a MongoDB
Mòdul 4: Indexació i Agregació
Mòdul 5: Funcions Avançades de MongoDB
Mòdul 6: Rendiment i Seguretat
- Optimització del Rendiment
- Còpia de Seguretat i Restauració
- Millors Pràctiques de Seguretat
- Monitorització i Alertes