MONGODB CON .NET. COMO UTILIZAR MONGODB EN NUESTRO PROYECTO ASP .NET CORE WEB APPLICATION.
Primero debemos agregar el paquete MongoDB.Driver.
Dentro de nuestro proyecto accedemos a NuGet Package Manager y buscamos el paquete de MongoDB.Driver (nuget url).
En nuestro archivo appsettings.json agregamos nuestra cadena de conexión a mongodb.
"DatabaseSettings": {
"ConnectionString": "mongodb://localhost:27017",
"DatabaseName": "MiBaseDeDatos"
},
Ahora debemos de crear nuestro modelo para almacenar los datos que agregamos en nuestro archivo appsettings.json.
En nuestra carpeta de Models creamos una clase con el nombre MongoDbSettings.cs (puede ser cualquier nombre).
La clase la crearemos con el siguiente código:
public class MongoDbSettings: IMongoDbSettings
{
public string ConnectionString { get; set; }
public string DatabaseName { get; set; }
}
public interface IMongoDbSettings
{
string ConnectionString { get; set; }
string DatabaseName { get; set; }
}
En nuestra clase Startup.cs en el método ConfigureServices debemos registrar nuestro modelo MongoDbSettings. Agregar el siguiente código:
services.Configure(Configuration.GetSection(nameof(MongoDbSettings)));
services.AddSingleton(x => x.GetRequiredService>().Value);
Ahora debemos crear nuestro servicio y utilizar MongoDb. Para esto creamos una clase dentro de nuestra carpeta Services con el nombre de MongoDbServices.cs (puede ser cualquier nombre).
En el constructor de la clase inyectamos nuestro servicio IMongoDbSettings.
public MongoDbServices(IMongoDbSettings settings)
Ahora creamos dos variables para realizar la conexión y crear nuestras tablas en la base de datos.
var client = new MongoClient(settings.ConnectionString);
var database = client.GetDatabase(settings.DatabaseName);
El constructor quedaría de la siguiente manera:
public MongoDbServices(IMongoDbSettings settings)
{
var client = new MongoClient(settings.ConnectionString);
var database = client.GetDatabase(settings.DatabaseName);
}
Para crear o acceder a las tablas dentro de la base de datos de mongodb debemos de crear una variable de tipo IMongoCollection.
Por cada tabla que se necesite manipular se tienen que declarar una variable de tipo IMongoCollection, que seria de la siguiente manera:
UserModel es una clase que contiene los campos de nuestra tabla usuarios. Cada tabla que manejemos deberá tener creado su clase modelo dentro de nuestra carpeta models.
private readonly IMongoCollection collectionUsers;
Después inicializamos nuestra variable de la siguiente manera:
this.collectionUsers = database.GetCollection("mi_tabla_usuarios");
De esta manera ya podremos acceder a consultar, insertar o borrar documentos dentro de nuestra tabla en mongoDb.
Full Stack Web Developer && SDK SAPB1 Developer.
Melómano, Gamer (Xbox), Comprador compulsivo de Amazon y Posiblemente con TDAH.