MongoDB es una base de datos NORelacional Orientada a Documentos. En lugar de guardar los datos en tablas como se hace en las base de datos relacionales, MongoDB guarda estructuras de datos en documentos similares a JSON con un esquema dinámico (MongoDB utiliza una especificación llamada BSON), haciendo que la integración de los datos en ciertas aplicaciones sea más fácil y rápida.
Ejecutar MongoDB una vez que esta instalado
Hay que comprobar si el servicio esta levantado en el servidor y si no lo esta arrancarlo:
1 |
service mongod start |
Ahora ya podemos comenzar:
1 |
mongo |
Y nos quedaría así, esperando instrucciones:
LISTAR TODAS LAS BASES DE DATOS
Muchos comandos son similares a SQL por ejemplo cuando queremos listar las bases de datos existentes es:
1 |
show databases; |
El terminal nos devolverá las bases de datos que hay con su tamaño, en este caso solamente nos saca:
CREAR UNA BASE DE DATOS NUEVA
En MongoDB no es necesario crear la base de datos, si no existe el te la creara, únicamente tienes que usarla y si introduces una collection ( similar a una tabla en las DB relacionales), el ya se encarga de crear la base de datos. Vamos a crear una base de datos llamada biblioteca y creare un libro dentro de una colección llamada libros.
Para crearla: ( simplemente la usamos):
1 |
use biblioteca; |
Guardamos un libro en la collection libros:
1 |
db.libros.save({Autor:"Miguel de Cervantes",Titulo:"El Quijote",Year:"1605"}); |
El .save() equivaldría al INSERT de las bases de datos RELACIONALES.
Ahora vamos a ver las bases de datos existentes, comprobando que ya sale nuestra nueva base de datos biblioteca:
1 |
show databases; |
Y el terminal ya se nos muestra nuestra base de datos biblioteca con su tamaño:
Y como estamos usando la base de datos biblioteca si queremos ver sus colecciones, nos mostrara la única colección existente que se llama libros:
1 |
show collections; |
BUSCAR / LEER / VER
Para que nos muestren todos los registros de una coleccion en este caso todos los libros:
1 |
db.libros.find(); |
Este es el equivalente a en bases de datos RELACIONALES poner: SELECT * FROM libros;
Si quiero en concreto encontrar un libro por ejemplo todos los de “Carl Sagan”:
1 |
db.libros.find({Autor:"Carl Sagan"}); |
Este es el equivalente a en bases de datos RELACIONALES poner: SELECT * FROM libros WHERE autor=’Carl Sagan’;
UPDATE / ACTUALIZAR
Si queremos ahora actualizar un libro de nuestra collection libros por ejemplo el libro de Carl Sagan y que su año sea ahora 1999 sería:
1 |
db.libros.update ({Autor:"Carl Sagan"},{$set:{Year:"1999"}}); |
El terminal nos dice que fue actualizado 1 registro, nos devuelve esto por pantalla.
Para comprobar miramos el registro, buscando el libro de “Carl Sagan”:
1 |
db.libros.find({Autor:"Carl Sagan"}); |
Y nos devuelve lo siguiente, donde vemos que el año cambio:
DELETE / BORRAR
Si queremos borrar TODOS los libros del autor “Juan”:
1 |
db.libros.remove({Autor:"Juan"}); |
Si queremos borrar un libro concreto podemos hacerlo poniendo todos sus datos o de una manera más sencilla por su ID, la cual es única y se genera en su inserción (save):
1 |
db.libros.remove({_id:ObjectId("579cbbe15c5f0e242fdd1fc2")}); |
Para borrar TODOS los libros:
1 |
db.libros.remove({}); |
Y siempre podemos usar para la ayuda:
db.help();
excelente me ayudo mucho
muy buen aporte
Excelente, Gracias