Introducción a MongoDB

Poco a poco el mundo de NoSQL se va haciendo un nuestro día a día. Quizás sea MongoDB la base de datos NoSQL más conocida. Vamos a abordar algunos de sus conceptos básicos en este artículo. MongoDB es una base de datos orientada a documentos. ¿Qué quiere decir esto?.Simplemente quiere decir que no se basa en el concepto de Tabla ,Fila y Registro sino que se apoya en el concepto de  Colección, Documento y Propiedad. Vamos a abordarlos.

 

MongoDB y Colecciones

Una colección en MongoDB es muy similar a una Tabla de una base de datos.La tabla almacena registros (filas) mientras que las colecciones almacenan documentos.

MongoDB

 

MongoDB y Documentos

Es aquí donde comienzan las diferencias importantes entre una base de datos SQL y una NoSQL . El concepto de fila y de documentos son bastante diferentes . Una fila esta compuesta de columnas y siempre son las mismas para todas ellas . En cambio un documento esta compuesto por claves y valores (key,value) y cada documento puede tener variaciones importantes con el anterior dentro de una colección. Vamos a ver unos ejemplos,imaginemonos que tenemos el concepto de Persona (nombre,apellidos,edad) . En una base de datos relacional dispondremos de la siguiente tabla.

MongoDBTabla

En cambio en una base de datos orientada a documentos podremos tener estructuras similares o muy diferentes. Por ejemplo si quisieramos almacenar los mismos datos sería tan sencillo como crear los siguientes documentos:

MongoDBColecciones

Ahora bien se podrían crear documentos bastante diferentes como los siguientes.

MongoDBSchemaFree

El primer documento solo dispone de un campo . Mientras el segundo dispone de tres pero estos son diferentes a los anteriores. Esto es lo que en NoSQL se denomina Schema Free o libre y que aporta una gran flexibilidad a la hora de trabajar. Aunque también puede acabar siendo un poco caótico. Esta tipología de esquema viene reforzada por la capacidad de generar documentos embebidos dentro de la misma colección.

 

MongoDB Documentos Embebidos

Un documento embebido no es ni mas ni menos que un documento que esta insertado dentro de otro y que ambos están ligados a la misma colección.

MongoDBCursos

De esta manera las bases de datos orientadas a documentos aportan una gran flexibilidad a la hora de estructurar la información.

MongoDB Comandos

Para insertar los registros anteriores dentro de MongoDB tendremos que usar los siguientes comandos.

mongo

Nos conectara de forma automática con el servidor, una vez conectados podemos pedir un listado de las bases de datos disponibles con:

show dbs

Realizada esta operación nos mostrará la lista de bases de datos existentes

 

listaMongoDB

Seleccionamos la base de datos con :

use cantabriaTIC

Realizada esta operación solicitamos la lista de colecciones con show collections

showcollections

Nos aparecerá vacía y podemos proceder a insertar un registro para ello usaremos el siguiente comando.

db.Personas.insert({«nombre»:»cecilio»,»apellidos»:»alvarez»});

Esto nos insertará un registro en la base de datos. Ahora solo nos queda seleccionar los datos con

db.Personas.find();

El cual nos devolverá los datos insertados.

Persona

Trabajar con MongoDB es bastante intuitivo  pero su enfoque es bastante diferente a una base de datos SQL clásica.

 

Post By Cecilio Álvarez Caules (32 Posts)

Oracle Certified Master, Java EE Enterprise Architect .Experto en la plataforma JEE y Trainer. Autor del libro Arquitectura Java Sólida Dueño del blog sobre JEE Arquitectura Java

Website: →

Connect

5 Responses to “Introducción a MongoDB”