NoSQL desde cero: Aprende MongoDB en 10 minutos (FÁCIL y RÁPIDO)

THE SUMMARYAI-generated

MongoDB: Introducción Rápida (10 Minutos)

Key Concepts:

  • MongoDB: Base de datos NoSQL orientada a documentos.
  • NoSQL: Base de datos no relacional, almacena datos de forma diferente a las bases de datos relacionales.
  • Documento: Estructura de datos compuesta por pares campo-valor, similar a un objeto JSON.
  • Colección: Agrupación de documentos en MongoDB, equivalente a una tabla en bases de datos relacionales.
  • JSON: Formato de intercambio de datos ligero, basado en pares clave-valor.

¿Qué es MongoDB?

MongoDB es una base de datos NoSQL, específicamente una base de datos de documentos, muy popular y de código abierto (versión Community). Está diseñada para aumentar la productividad de los desarrolladores y soportar la escalabilidad.

NoSQL vs. SQL

  • NoSQL: Se refiere a bases de datos no relacionales. No almacenan datos en tablas relacionales.
  • Relaciones: Las bases de datos NoSQL sí pueden guardar relaciones entre datos, pero no necesitan dividirlos en tablas. Las relaciones pueden estar anidadas en una única estructura.
  • Evolución: Las bases de datos NoSQL surgieron a finales de los 2000 debido a la reducción de costos de almacenamiento y al aumento de la cantidad de información no estructurada.
  • Ventajas de NoSQL: Permiten almacenar grandes cantidades de información sin estructura, ofreciendo flexibilidad.

Tipos de Bases de Datos NoSQL

  1. Base de Datos de Documentos: Almacena datos en documentos similares a objetos JSON (MongoDB).
  2. Base de Datos Clave-Valor: Cada ítem contiene claves y valores (Redis, DynamoDB).
  3. Base de Datos en Grafo: Almacena datos en forma de nodos y arcos.
  4. Base de Datos Orientadas a Objetos: Almacena datos en forma de objetos.

MongoDB como Base de Datos Documental

  • Documentos: En MongoDB, un registro es un documento, una estructura de datos compuesta por pares campo-valor, similar a objetos JSON. Los valores pueden ser strings, números, booleanos, otros documentos, arrays o arrays de documentos.
  • Ventajas de usar documentos:
    • Mapeo directo: Un objeto JSON generalmente corresponde a los tipos de datos utilizados en la aplicación (JavaScript, C#, Java, etc.).
    • Eliminación de Joins: Almacenar objetos JSON complejos con objetos anidados elimina la necesidad de joins como en SQL.
  • Colecciones: MongoDB almacena los documentos en colecciones, que son el equivalente a las tablas en las bases de datos relacionales.

Comandos Básicos de MongoDB

  1. show dbs: Muestra las bases de datos disponibles en el servidor.
  2. use <nombre_base_de_datos>: Cambia a la base de datos especificada. Si la base de datos no existe, la crea.
  3. db: Muestra la base de datos actual.
  4. db.createCollection("<nombre_coleccion>"): Crea una nueva colección.
  5. show collections: Muestra las colecciones en la base de datos actual.
  6. db.<coleccion>.insertOne(<documento_json>): Inserta un documento en la colección.
  7. db.<coleccion>.insertMany([<documento_json_1>, <documento_json_2>, ...]): Inserta múltiples documentos en la colección.
  8. db.<coleccion>.find(): Recupera todos los documentos de la colección (equivalente a SELECT * FROM <tabla> en SQL).
  9. db.<coleccion>.find().pretty(): Muestra los resultados de la consulta en un formato legible.
  10. db.<coleccion>.find({<campo>: <valor>}): Filtra los documentos por un valor específico en un campo.
  11. db.<coleccion>.updateOne({<filtro>}, {$set: {<campo>: <nuevo_valor>}}): Actualiza un documento que coincida con el filtro.
  12. db.<coleccion>.find({<campo>: <valor>}).limit(<cantidad>): Limita el número de documentos devueltos por la consulta.
  13. db.<coleccion>.deleteOne({<filtro>}): Elimina un documento que coincida con el filtro.

Ejemplos Prácticos

  • Creación de una base de datos y colección:
    use mongoInstant
    db.createCollection("clients")
    
  • Inserción de un cliente (documento):
    db.clients.insertOne({
        name: "Tony Soprano",
        age: 52,
        address: {
            street: "123 Fake Street",
            city: "Caldwell"
        }
    })
    
  • Inserción de múltiples clientes (documentos):
    db.clients.insertMany([
        { name: "Rose", age: 35 },
        { name: "Sandwich", age: 22 }
    ])
    
  • Consulta de clientes por nombre:
    db.clients.find({ name: "Tony Soprano" })
    
  • Actualización de la edad de un cliente:
    db.clients.updateOne({ age: 35 }, { $set: { age: 42 } })
    
  • Eliminación de un cliente por nombre:
    db.clients.deleteOne({ name: "Sandwich" })
    

Conclusión

MongoDB es una base de datos NoSQL de documentos que ofrece flexibilidad y escalabilidad. Su estructura basada en JSON facilita el desarrollo y elimina la necesidad de joins complejos. Los comandos básicos permiten crear, leer, actualizar y eliminar datos de manera eficiente. El video proporciona una introducción práctica a MongoDB, cubriendo los conceptos fundamentales y los comandos esenciales para empezar a trabajar con esta base de datos.

AI summaries can miss context or contain errors. Check important details against the original video.

MAKE IT YOURS

Read. Remember. Reuse.

Free tools

Go a little deeper.

Have a question about this video? Load its transcript to open the video chat.