Skip to content

Instantly share code, notes, and snippets.

@Mfernandezmontes
Last active August 29, 2015 14:24
Show Gist options
  • Select an option

  • Save Mfernandezmontes/15cf129aff524897fd86 to your computer and use it in GitHub Desktop.

Select an option

Save Mfernandezmontes/15cf129aff524897fd86 to your computer and use it in GitHub Desktop.
MongoDB

MongoDB

Introducción

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"}
]}

Características NoSQL

  • Orientada a documentos
  • Indexable
  • Permite coleccines
  • Facilmente escalables

Diferencias con SQL

  • 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

Estructura de datos SQL

TABLA

------ columna columna
Fila Registro Registro
Fila Registro Registro

Estructura de datos MongoDB

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
Comandos
Busqueda (FIND)

db.coleccion.find({campo:valor}) = SELECT db.coleccion.find({campo:valor}).conunt() = SELECT COUNT db.coleccion.find({campo:valor}).short = SELECT ORDER BY

Insercion (INSERT)
Actualizacion (UPDATE)
Borrado ( )
JOINS en NoSQL

Los joins se realizan entre colecciones,

db.collectionA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment