MongoDb .Net Series (II)


 

(Viene de MongoDb .Net Series (I)) (Sigue en MongoDb .Net Series (III))
mongoDB-net.fw

Como prometí en el post anterior, no voy a hablar más de infraestructura, sólo código.

Vamos a empezar por algo sencillo, vamos a crear una aplicación de consola y vamos a conectarnos desde ella a MongoDb.

Para ello, una vez creada tu aplicación de consola, haz click con el botón derecho en las referencias y selecciona “Manage NuGet Packages“.

Vamos a buscar un paquete que se llama, oh sorpresa, MongoDb:

installmongodriver

 

Selecciona el primer paquete de la lista, es decir, el driver oficial de MongoDb para C# y pulsa en Install y luego en I Accept. Cuando el sistema termine de instalar, pulsa en Close.

Si miras ahora la lista de referencias, verás que se te han añadido dos archivos nuevos:

MongoDB.Bson y MongoDB.Driver

Con esto tenemos suficiente para conectarnos a la base de datos que hemos creado en el post anterior.

Editamos nuestro Program con las siguientes líneas:


class Program
{
   private const string ConnectionString = "mongodb://mongonetseriesuser:mongonetseriespassword@ds027748.mongolab.com:27748/mongonetseries";
   private const string DatabaseName = "mongonetseries";
   static void Main(string[] args)
   {
      var client = new MongoClient(ConnectionString);
      var server = client.GetServer();
      var database = server.GetDatabase(DatabaseName);
      var collections = database.GetCollectionNames();
      foreach (var collection in collections)
      {
         Console.WriteLine(collection);
      }
      Console.WriteLine("Fin de lista de colecciones en la base de datos");
      Console.ReadKey();
   }
}

Si ejecutáis el programa, veréis que MongoDb ha creado dos colecciones en la base de datos llamadas:

system.indexes

y

system.users

Y, por el momento, lo dejamos aquí.

Ya sabemos crear una base de datos en la nube en un buen servicio y ya sabemos conectarnos a MongoDb desde .Net y obtener la lista de colecciones de la base de datos.

En el siguiente post, veremos lo que es una colección y su diferencia con una tabla en un sistema de base de datos SQL.

Anuncios

MongoDb .Net Series (I)


 

(Siguiente artículo)

 

Recientemente, en mi compañía hemos empezado un desarrollo nuevo y hemos seleccionado MongoDb como almacén de datos.

Al no tener mucha experiencia en bases de datos no sql, comencé a buscar información en internet, pero me encontré dos problemas: el primero, que no hay mucha documentación sobre desarrollo en MongoDb en castellano (excepto la proporcionada por la propia compañía), y el segundo, que la poca que hay no cubre el desarrollo con .net, se centra en Java, Php o Python.

Estoy acostumbrado (como la mayoría de vosotros supongo) a leer y estudiar en inglés, no es un problema para mí, pero estoy seguro de que hay mucha gente que agradecerá esta serie en castellano.

Dicho esto, al lío.

Vamos a empezar por lo más fácil, que es no tener que instalar la base de datos, para eso ya hay muchos tutoriales. Esta serie de posts se va a centrar en desarrollo puro y duro, no en infraestructura. Aún así, aquí tienes unas pequeñas líneas acerca de cómo crearte una base de datos inicial para seguir el tutorial (si es que así se le puede llamar).

Hay una empresa que proporciona servicio de MongoDb en la nube de manera gratuita, para desarrollo y pruebas es más que suficiente. La empresa se llama MongoLab, y es recomendable que para seguir el código aquí escrito, te registres y des de alta una base de datos.

Registrarse es de lo más sencillo, únicamente haz click en SignUp y rellena tus datos:

mongolabregister

 

 

 

 

Recibirás un correo de confirmación con diversos links para saber como trabajar con su MongoDb-as-a-Service.

Después de registrarte, se te mostrará una pantalla donde tienes un botón para crear una base de datos:

createnewmongolabCuando hagas click en Create New, te aparecerá otra ventana en la que puedes seleccionar:

El proveedor. Yo te recomiendo Windows Azure, pero sólo románticamente, siendo esta una serie de posts sobre .net, la verdad es que cualquier proveedor funciona realmente bien. Si seleccionas Windows Azure, la localización del DataCenter en que puedes seleccionar un nodo gratuito de desarrollo, es EastUS, si seleccionas otro DataCenter, solo tienes opciones de pago.

El Plan. Como ya he indicado, Si seleccionas Azure EastUs, puedes seleccionar Single-node(development), con lo que tendrás disponible una base de datos de hasta 0.5Gb gratis.

El nombre de la base de datos. En mi caso, voy a llamarla mongonetseries (recuerda poner tu nombre en minúsculas).

createdbmongolabDespués, solo tienes que pulsar en Create new MongoDB deployment y el sistema te creará todo lo que necesitas para empezar a utilizar MongoDB en tu aplicación.

 

 

 

 

 

A continuación, tras crear tu base de datos, el sistema te mostrará la lista de bases de datos que tienes, en teoría, sólo una.

Haz click en ella, pues enseguida te mostrará la cadena de conexión que necesitas usar desde tu aplicación.

connstringmongo

 

 

 

 

Y hasta aquí el primer post. Prometo que no volveré a mencionar la infraestructura en el resto de la serie.