Está en la página 1de 22

MongoDB

MongoDB es una base de datos orientada a documentos. Esto quiere decir que
en lugar de guardar los datos en registros, guarda los datos en documentos. Estos
documentos son almacenados en BSON, que es una representación binaria de
JSON.

Una de las diferencias más importantes con respecto a las bases de datos
relacionales, es que no es necesario seguir un esquema. Los documentos de
una misma colección - concepto similar a una tabla de una base de datos
relacional -, pueden tener esquemas diferentes.

Imaginemos que tenemos una colección a la que llamamos Personas. Un


documento podría almacenarse de la siguiente manera:

{ Nombre: "Pedro",
Apellidos: "Martínez Campo",
Edad: 22,
Aficiones: ["fútbol","tenis","ciclismo"],
Amigos: [
{ Nombre: “María",
Edad:22 },
{
Nombre: “Luis",
Edad:28
}
]
}
El documento anterior es un clásico documento JSON. Tiene strings, arrays,
subdocumentos y números. En la misma colección podríamos guardar un
documento como este:

{ Nombre: "Luis",
Estudios:"Administración y Dirección de Empresas",
Amigos:12
}
Este documento no sigue el mismo esquema que el primero. Tiene menos
campos, algún campo nuevo que no existe en el documento anterior e incluso un
campo de distinto tipo.

Esto que es algo impensable en una base de datos relacional, es algo totalmente
válido en MongoDB.

INSTALACIÓN EN WINDOWS

Instalar MongoDB en Windows es bastante sencillo. Primero se debe descargar de


la siguiente pagina: https://www.mongodb.com. Una vez descargado e instalado
se debe añadir la ruta del ejecutable de MongoDB al PATH (variable de sistema).

Para añadir mongodb al PATH vamos a Inicio > Equipo > Propiedades del Sistema
> pestaña Opciones avanzadas.

Dar click en Variables de entorno, y marca la variable PATH. Seleccionar Editar, y


escribir ‘;’ y después de eso, ruta de tu ejecutable Mongo, normalmente es:
C:\Program Files\MongoDB\Server\3.0\bin. Acepta varias veces y listo.
Ahora se debe ejecutar MongoDB, para ello, se debe hacer lo siguiente:

Ir al directorio C:\ y crear una carpeta data y dentro de data, una llamada db
(C:\data\db).Una vez creadas esas carpetas y con el PATH correcto, inicia mongo
en consola con el comando ‘mongod‘ y deberías ver “Waiting for Connections on
port 27017”:
20
Iniciando MongoDB

Ya puedes conectarte a la base de datos y ejecutar algunos comandos.

Importante: Asegúrate de dejar mongod funcionando en una consola y abre otra


nueva, accede a esta ruta: cd C:\MongoDB\bin (o la ruta exacta donde este
instalado MongoDB) y escribe mongo.exe para conectarte y probar estos
comandos.

Otra forma de activar Mongo es accediendo a la carpeta bin de la ruta donde fue
instalado
En dicha ruta debemos dar clic sobre el icono mongod para activar el servidor
mongo

Se debe ejecutar una consola con la activación de mongo

Ahora se debe dar clic en el icono mongo para activar la consola de ejecución de
comandos mongodb para crear colecciones de datos

Se podrá apreciar la ventana de ejecución.


Si escribimos el comando cls podremos limpiar la pantalla para crear nuestras
colecciones de datos

COMANDOS BÁSICOS DE MONGODB

Las consultas en un sistema de base de datos documental son un poco diferentes


a lo que estamos acostumbrados. En lugar de hacer consultas para datos
insertados en tablas, vamos hacer consultas a colecciones de documentos.

Es importante aclarar, que todo se guarda en documentos con formato JSON


(Mongo recibe formato BSON que es una forma de representar binariamente
objetos JSON).

Una vez nos hemos conectado a nuestra instancia de MongoDB


usando mongod y mongo posteriormente en otra consola, podemos empezar a
ver las bases de datos disponibles y su uso. Los comandos mas utilizados son los
siguientes.

LISTAR TODAS LAS BASES DE DATOS

1. show databases

CREAR BASE DE DATOS

En MongoDB no se crea una Base de Datos por comandos. No existen métodos


estilo createDB o createDataBase. MongoDB crea la base de datos en el
instante que insertamos información en esa base de datos, es decir, cuando
insertamos un elemento dentro de una colección.

MOSTRAR LA BASE DE DATOS ACTUAL

1 db

SELECCIONAR UNA BASE DE DATOS

1 use nombre_de_la_base_de_datos (test)

Ahora que sabemos los comandos básicos, vamos con las operaciones CRUD
principales.

COMANDOS / OPERACIONES CRUD EN MONGODB


CRUD es el acrónimo de Create, Read, Update y Delete y representa las 4
operaciones básicas que se pueden realizar en cualquier sistema de base de
datos: Crear registros, leerlos o buscarlos, actualizarlos y eliminarlos.

Los comandos CRUD en MongoDB son similares a los comandos que se utilizan
para controlar las operaciones CRUD en las aplicaciones con Nodejs. Para estas
operaciones se usa JSON. Mientras que por debajo, para el almacenamiento y
transferencia, MongoDB usa BSON.

CREATE / CREAR

Haciendo esto guardamos un documento dentro de la colección Hobbits en la


base de datos actual en las que estás situado.

Si todo ha salido bien, se ha creado la base de datos con la colección que


antes no existía.
READ / BUSCAR

UPDATE / ACTUALIZAR

DELETE / BORRAR

Operaciones CRUD básicas


Como ya hemos mencionado, MongoDB tiene bases de datos, y dentro de las
bases de datos tenemos colecciones, que vienen siendo como las tablas. A
parte de usar la consola para conectarnos al servidor, en el mercado hay otras
opciones como MongoVUE para escritorio o RockMongo para entornos web
(hecho en PHP).

Inserción
Para ver como se guardan elementos, antes crearemos un pequeño objeto JSON
en la consola de Mongo:

var proyecto1 = {
nombre: "Sistema Domotico",
estimacion: "1 mes",
miembros: 2
}

Ahora para guardar ese objeto haremos lo siguiente:

db.proyectos.insert(proyecto1);

En esta linea, db se refiere a la base de datos actual, proyectos es


la colección donde guardaremos el objeto, insert guarda el objeto pasado como
parámetro en la colección indicada anteriormente. En mi caso, proyectos no
existe, pero se creará antes de insertar el objeto proyecto1. Si no sale ningún
error la inserción se habrá realizado correctamente.

También podemos listar los proyectos en la consola con db.proyectos.find().


Vamos a insertar otro objeto en la base de datos pero sin haber creado
previamente el objeto a insertar:

db.proyectos.insert({
nombre: "WEB2",
estimacion: "3 meses",
miembros: 3,
presupuesto: 12000 });

En esta última inserción hemos introducido un campo nuevo, presupuesto. Al


hacer db.proyectos.find() veremos que se ha insertado. Si queremos buscar
todos los proyectos que incluyan la palabra “WEB2” en su nombre haríamos
esto:

db.proyectos.find({nombre:"WEB2"});

Actualización

Para actualizar podemos hacer esto:


proyecto1.presupuesto = 10000;
db.proyectos.update({nombre:"WEB2"}, proyecto1);

Esto actualizaría los datos del proyecto que contenga la palabra “WEB2” en su
nombre con los valores del objeto proyecto1 al que se le ha añadido un nuevo
campo presupuesto con el valor 10000.

Borrado

Si queremos borrar haremos lo siguiente:

db.proyectos.remove({nombre:"WEB2"});

Borraría los proyectos que cumplan ese patrón, que el nombre contenga la
palabra “WEB2”.

Lectura
Ya hemos visto que para leer podemos usar db.proyectos.find() y nos
devolvería todos los registros, a find() le podemos pasar un objeto JSON para
filtrar resultados.

Instalación de Robo3T o Robomongo

Robomongo es una herramienta multiplataforma con la que podemos


administrar gráficamente nuestras bases de datos que, pese a no tener
versión definitiva actualmente (beta 0.8.4), ya se ha convertido en un
importante aliado para los usuarios de MongoDB.

Para instalar Robomongo se debe acceder al siguiente Link para su


instalación: https://robomongo.org/ y se debe seleccionar Download Robo 3T
Debe aparecer posteriormente un enlace en el que podremos descargar la versión
para instalar en el equipo o la versión portable

Una vez instalado Rockmongo podemos empezar a crear nuestras colecciones de


datos

Inicialmente debemos activar mongodb por consola


Luego abrimos la aplicación de robomomgo, la cual se debe ver de la siguiente forma

Creamos a continuación una nueva conexión, en la que definimos el nombre de la


conexión, el servidor y el puerto
Luego damos clic en conectar

Teniendo definida la conexión, se procede a crear la base de datos


Al crearse la Base de Datos procedemos a registrar nuestra colección de datos,
en este caso la llamamos jugadores
Podemos apreciar que se crea la colección jugadores. Ahora vamos a insertar
registros a los jugadores, dando clic derecho sobre la colección

Nos aparece una ventana en la cual podemos crear nuestra colección de


registros
Al guardar la información podemos verificar el registro creado

Podemos insertar otro documento


Al dar clic sobre la opción ver documentos, se pueden apreciar

Se podría hacer una búsqueda especifica por nombre y dar play para ejecutar
Para actualizar documentos, damos clic derecho sobre la colección y escogemos
update

En la interfaz de actualización editamos inicialmente el dato de la colección a


modificar y luego ponemos el dato que se va a actualizar.

Al ejecutar, se aprecia un mensaje de confirmación


Al verificar de nuevo el dato, se puede apreciar la actualización del equipo

Para eliminar podemos borrar toda la colección, dando clic derecho sobre la
misma y seleccionado la opción delete
Otra forma es borrar a partir de un identificador, dando clic derecho sobre la
colección de datos jugadores y escogiendo la opción Remove documents

En este ejemplo eliminamos a un jugador a partir del nombre

También podría gustarte