Es una base de datos orientada a documentos, en la cual se guardan documentos BSON, que tiene una sintaxis igual qu un documento JSON, La difrencia entre ambos es la capacidad de codificacioón en binario, lo cual en mongodb le da la capacidad de guardar indices
{"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]}
- Orientada a documentos
- Indexable
- Permite coleccines
- Facilmente escalables
- No tienen esquema/tablas definidas los documentos no tienen estructura fija
- Escalabilidad, no hay que realiaz ALTER TABLE
- MAP REDUCE permite devidir divir diferentes rangos de valores entre diferentes servidores
- Mejora de rendimiento
- Menos seguridad
TABLA
| ------ | columna | columna |
|---|---|---|
| Fila | Registro | Registro |
| Fila | Registro | Registro |
Coleccion
| ------ | _ID | campo | campo |
|---|---|---|---|
| Documento | index | datos documento | datos documento |
| Documento | index | datos documento | datos documento |
- indice => UUID genera mongodb automaticamente es un hash basado en la mac de la interface de red
{ "_id" : ObjectId("55a2a9637f29e774ecc68d97"), "nombre" : "Juan", "telefono" : 31231233, "direccion" : "Calle falsa" } - Tambien se puden crear manualmente
db.coleccion.find({campo:valor}) = SELECT
db.coleccion.find({campo:valor}).conunt() = SELECT COUNT
db.coleccion.find({campo:valor}).short = SELECT ORDER BY
Los joins se realizan entre colecciones,
db.collectionA.