MongoDb es una Base de datos de las llamadas NoSQL. Es decir que no se consultan con el lenguaje SQL, sino con métodos, otra característica principal es que almacena los datos en formato JSON mediante BSON (que básicamente es lo mismo pero con las longitudes de los campos y en formato binario), para localizar la información más rápidamente.
Al utilizar JSON, es un tipo de base datos que funciona perfectamente con framework y plataformas desarrolladas en JavaScript, es el complemento ideal de NodeJS.
Las principales características son que está orientada a documentos, es altamente escalable, indexable, con un rendimiento muy superior en algunos casos a las bases de datos SQL, los procedimientos almacenados son en JavaScript, y permite colecciones de tamaño fijo.
Diferencias:
- Esquemas. Podemos almacenar documentos complejos como registros. Los datos relacionados pueden ir en el mismo registro/documento.
- Escalabilidad. Podemos añadir más campos o nuevos sin redefinir nada. MapReviews y Big Data. Se pueden hacer consultas sobre distintas porciones de datos. Se pueden distribuir distintos rangos de valores en distintos servidores.
- Velocidad. Son muchísimo más rápidas en muchos factores que las SQL.
- Multiplataforma
- OpenSource
Terminología
Los registros o filas de llaman documentos.
Las colecciones son equivalentes a las tablas, pero cada registro puede tener una estructura distinta, e incluso más registros.
La columna se llamará campo.
Se pueden crear índices tambien.
El Id es el único campo obligatorio, y se suele utilizar el UUID que crea el propio MongoDB.
MongoDB on-line Free (Gratis)
En estos momentos MongoDb a través de Google Cloud regala un alojamiento de 500Mb gratis, hay un enlace desde la Web de
Comandos
show db
Muestra las bases de datos disponibles.
use nombreBD
Pone como activa una base de datos en concreto.
show collections
Muestra la colecciones de una BD.
db.nombreColeccion.insert({JSON})
Inserta el documento JSON en la colección con el nombre indicado.
db.nombreColeccion.find().pretty()
Busca los documentos de la colección.
Si utilizas al final .pretty() y muestra el resultado de forma más legible.
db.system.indexes.find()
Nos devuelve todos los índices creados, por defecto uno por cada id de cada tabla.
db.nombreColeccion.remove({filtro})
Permite eliminar documentos.
db.nombreColeccion.update({filtro}, {update})
Actualiza documentos.
//Actualiza campos db.personas.update({nombre="Paco"}, {nombre:"Pepe"}) //Añade campos db.personas.update({nombre="Paco"}, {$set: {edad: 43}) //Incrementar un valor, decrementar, lo mismo en negativo db.personas.update({nombre="Paco"}, {$inc: {edad: 1}) //Incrementar un valor, tambien en los que no existe el campo db.personas.update({}, {$inc: {edad: 1}, false, true)
db.dropDatabase()
Elimina la base de datos activa.
db.system.indexes.find()
Lista los índices de la bd.
Deja una respuesta