Aprende MongoDB desde cero
4.2 (9 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
85 students enrolled

Aprende MongoDB desde cero

La base de datos NoSQL más popular del mundo.
4.2 (9 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
85 students enrolled
Last updated 5/2020
Spanish
Current price: $13.99 Original price: $19.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 8 hours on-demand video
  • 1 article
  • 13 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Aprenderá a insertar, modificar, borrar y consultar los documentos de una base de datos NoSQL.
  • Aprenderá los operadores lógicos y de comparación para la consulta de documentos en MongoDB.
  • Aplicará los modificadores de actualización de los documentos.
  • Aprenderá a realizar diferentes cálculos o agregaciones.
  • Aprenderá a realizar agregaciones en el modelo de "tubería" o "canalización".
  • El alumno manejará la base de datos MongoDB desde Python
Course content
Expand all 76 lectures 07:49:34
+ Introducción al curso "introducción a MongoDB"
3 lectures 08:41

Antes de empezar el curso de MongoDB

Antes de empezar el curso "Aprende MongoDB"
04:39

En este archivo encontrarás los archivos necesarios del curso.

Archivos del curso "Introducción a MongoDB"
00:02
+ Introducción a MongoDB: CRUD
9 lectures 59:08
  • MongoDB almacena datos en documentos similares a JSON, lo que hace que la base de datos sea muy flexible y escalable.

  • Para poder experimentar con los ejemplos de código en este tutorial, necesitará acceso a una base de datos MongoDB.

  • Puede descargar una base de datos gratuita de MongoDB en https://www.mongodb.com.

Preview 06:42
  • Abrir la consola

  • Entrar a la carpeta data

  • Ejecutar mongo

  • Escribe db

  • Escribe use miBaseDatos

  • Escribe show dbs

  • Para crear una colección escribe db.usuarios.insert({“nombre”:”Pedro Picapiedra”})

Explorar la consola de Mongo
12:14
  • mongoimport --help

  • Podemos importar datos a mongodb desde la consola en formato JSON o CSV.

  • mongoimport --db miBaseDatos --collection usuarios --jsonArray --file usuarios.json

Importar datos a Mongo
07:22
  • Podemos modificar los datos con el método update().

  • Podemos eliminar un documento con el método remove().

  • Podemos consultar todos los datos de la colección con find y un objeto vacío.

  • El operador $set reemplaza el valor de un campo con el valor especificado.

Modificar y borrar datos
05:27
  • upsert (boolean Opcional). Si se establece en verdadero, crea un nuevo documento cuando ningún documento coincide con los criterios de consulta. El valor predeterminado es falso, que no inserta un nuevo documento cuando no se encuentra ninguna coincidencia.

  • multi (booleano Opcional). Si se establece en verdadero, actualiza varios documentos que cumplen con los criterios de consulta. Si se establece en falso, actualiza un documento. El valor predeterminado es falso.

Añadir campos a un documento de MongoDB
06:56
  • Podemos seleccionar ciertos campos en nuestras consultas, indicándolo como 1 para visualizarlo o cero para no visualizarlo.

  • Podemos ordenar una consulta con sort({campo:1}), donde 1 es ascendente y -1 descendente.

  • Podemos limitar la consulta con limit(numero).

  • Podemos saltarnos los primeros elementos de una consulta con skip(numero).

  • Por medio de count({condición}} podemos contar los elementos de la base de datos.

Ordenar las consultas
06:41
  • Podemos relacionar dos colecciones por medio del identificador.

Relacionar dos colecciones
05:21

Podemos acceder a información que se encuentre dentro de arreglos JSON por medio de la notación punto.

Manejo de la notación punto en MongoDB
05:13
  • Cuando la función db.collection.find () se utiliza para buscar documentos en la colección, el resultado devuelve un puntero a la colección de documentos devueltos, que se denomina cursor.

  • Por defecto, el cursor se iterará automáticamente cuando se devuelva el resultado de la consulta. Pero también se puede revisar explícitamente los elementos devueltos en el cursor uno por uno.

Creación manejo de cursores en mongoDB
03:12
+ Operadores para las consultas en MongoDB
16 lectures 01:41:59
  • $ eq Coincide con valores que son iguales a un valor especificado.

  • $ gt Coincide con valores que son mayores que un valor especificado.

  • $ gte Coincide con valores mayores o iguales que un valor especificado.

  • $ in Coincide con cualquiera de los valores especificados en una matriz.

  • $ lt Coincide con valores inferiores a un valor especificado.

  • $ lte Coincide con valores menores o iguales a un valor especificado.

  • $ ne Coincide con todos los valores que no son iguales a un valor especificado.

  • $ nin No coincide con ninguno de los valores especificados en un arreglo.

Los operadores de selección
08:01
  • $and una cláusulas de consulta con un AND lógico que devuelve todos los documentos que coinciden con las condiciones de ambas cláusulas.

  • $not Invierte el efecto de una expresión de consulta y devuelve documentos que no coinciden con la expresión de consulta.

  • $nor Las cláusulas de consulta con un NOR lógico devuelve todos los documentos que no coinciden con ambas cláusulas.

  • $oruna cláusula de consulta con un OR lógico devuelve todos los documentos que coinciden con las condiciones de cualquiera de las cláusulas.

Operadores lógicos de consultas
05:35
  • $exists Coincide con documentos que tienen el campo especificado.

  • $type Selecciona documentos si un campo es del tipo especificado.

Operadores Elementos de consultas
07:18
  • $expr Permite el uso de expresiones de agregación dentro del lenguaje de consulta.

  • $jsonSchema Validar documentos contra el esquema JSON dado.

  • $mod Realiza una operación de módulo sobre el valor de un campo y selecciona documentos con un resultado especificado.

  • $regex Selecciona documentos donde los valores coinciden con una expresión regular especificada.

  • $text Realiza la búsqueda de texto.

  • $where Coincide con documentos que satisfacen una expresión de JavaScript.

Operadores de evaluación de consultas
12:37
  • Proporciona capacidades de expresión regular para cadenas de coincidencia de patrones en consultas. MongoDB utiliza expresiones regulares compatibles con Perl (es decir, "PCRE") versión 8.41 con soporte UTF-8.

  • { <field>: { $regex: /pattern/, $options: '<options>' } }

  • { <field>: { $regex: 'pattern', $options: '<options>' } }

  • { <field>: { $regex: /pattern/<options> } }

Evaluar Expresiones regulares
12:24

$text realiza una búsqueda de texto en el contenido de los campos indexados con un índice de texto. La expresión $text tiene la siguiente sintaxis:

Selecciona campos de texto en MomgoDB
14:02
  • La búsqueda de texto asigna una puntuación a cada documento que contiene el término de búsqueda en los campos indexados. La puntuación determina la relevancia de un documento para una consulta de búsqueda dada.

  • Para cada campo indexado en el documento, MongoDB multiplica el número de coincidencias por el peso y suma los resultados. Con esta suma, MongoDB calcula la puntuación del documento.

  • El peso predeterminado es 1 para los campos indexados.

Text Search Score, puntuación en las búsquedas
03:19
  • $all Arreglo de coincidencias que contienen todos los elementos especificados en la consulta.

  • $elemMatch Selecciona documentos si el elemento en el campo del arreglo coincide con todas las condiciones (querys) especificadas de $elemMatch.

  • $size Selecciona documentos si el campo arreglo tiene un tamaño especificado.

Operadores de arreglos: $all
11:32
  • El operador $elemMatch coincide con los documentos que contienen un campo de arreglo con al menos un elemento que coincide con todos los criterios de consulta especificados (querys).

  • Si se especifica una sola condición <query> en la expresión no necesita usar $elemMatch.

Operadores de arreglos: $elemMatch
04:10
  • Selecciona documentos si el campo arreglo tiene un tamaño especificado.

  • Las consultas no pueden usar índices para la porción $ size de una consulta, aunque las otras porciones de una consulta pueden usar índices si corresponde.

Operadores de arreglos: $size
03:10
  • El operador de consulta $comment asocia un comentario a cualquier expresión que tome un predicado de consulta

  • Debido a que los comentarios se propagan al registro del perfil, agregar un comentario puede hacer que los datos de su perfil sean más fáciles de interpretar y rastrear.

Agregar comentarios a las consultas
03:01
  • Sólo se puede usar en consola.

  • Este operador establece una condición que deben cumplir todos documentos.

  • El formato es $where:cadena, donde cadena es una expresión JavaScript.

  • El documento actual se referencia como this, y los valores asociados a sus claves como this.clave.

El operador $where
02:52
  • Permite el uso de expresiones de agregación dentro del lenguaje de consulta.

  • $sum suma los elementos de un arreglo.

Operador $expr en las consultas
04:18
  • La parte proyect de los arreglos permite usar tres operadores para mostrar solo parte de las claves de tipo arreglo.

  • Estos operadores se usan en el segundo parámetro de find (proyección).

Proyecciones: $slice
04:09
  • Permite que se muestre sólo el elemento del arreglo que satisface la consulta.

  • Sólo muestra uno de los elementos.

Proyecciones: operador $
03:20
  • Regresa los valores de una clave o campo especificado.

Comando de consulta distinct()
02:11
+ Modificadores de actualización
16 lectures 01:56:57

$ currentDate Establece el valor de un campo en la fecha actual, ya sea como Fecha o Marca de tiempo.

Modificadores de actualización: $currentDate
06:59
  • $ min Sólo actualiza el campo si el valor especificado es menor que el valor del campo existente.

  • $ max Sólo actualiza el campo si el valor especificado es mayor que el valor del campo existente.

Modificadores de actualización: $min y $max
04:34

$ mul Multiplica el valor del campo por la cantidad especificada.

Modificadores de actualización: $mul
04:04
  • $rename Renombra un campo.

  • $unset Elimina el campo especificado de un documento.

Modificadores de actualización: $ rename y $unset
04:22
  • $ set Establece el valor de un campo en un documento.

  • $ setOnInsert Establece el valor de un campo si una actualización resulta en una inserción de un documento. No tiene ningún efecto en las operaciones de actualización que modifican documentos existentes.

Modificadores de actualización: $set y $setOnInsert
06:55
  • $ Actúa como marcador de posición para actualizar el primer elemento que coincide con la condición de consulta.

  • $ [] Actúa como marcador de posición para actualizar todos los elementos en un arreglo para los documentos que coinciden con la condición de consulta.

Modificadores de actualización: Arreglos
10:06
  • $ Actúa como marcador de posición para actualizar el primer elemento que coincide con la condición de consulta.

  • $ [] Actúa como marcador de posición para actualizar todos los elementos en un arreglo para los documentos que coinciden con la condición de consulta.

Modificadores de actualización: Arreglos: $[ ]
09:57

$ [ ] Actúa como marcador de posición para actualizar todos los elementos en un arreglo para los documentos que coinciden con la condición de consulta.

Modificadores de actualización: Arreglos: $[ ]
09:52
  • $ [<identificador>] Actúa como marcador de posición para actualizar todos los elementos que coinciden con la condición arrayFilters para los documentos que coinciden con la condición de consulta.

  • El parámetro arrayFilters especifica qué elementos a modificar en un campo de arreglo.

Modificadores de actualización: Arreglos: $[<elemento>]
13:20
  • $ addToSet Agrega elementos a un arreglo sólo si no existen en el conjunto.

  • Para especificar un <campo> en un documento incrustado o un arreglo use la notación punto.

  • $ addToSet no garantiza un orden particular de elementos en el arreglo modificado.

  • Si el valor es un arreglo, $ addToSet agrega el arreglo completo como un solo elemento.

Modificadores de actualización Arreglos: addToSet
04:26
  • $ pop Elimina el primer o el último elemento de un arreglo.

  • $ push Agrega un elemento a un arreglo.

Modificadores de actualización Arreglos: pop y push
05:37
  • $ pull Elimina todos los elementos del arreglo que coinciden con una consulta especificada.

  • $ pullAll Elimina todos los valores coincidentes de un arreglo.

Modificadores de actualización Arreglos: pull y pullAll
09:08

Por medio del operador $each podemos iterar en un arreglo con los operadores $push y $addToSet.

Modificadores de actualización: $each
04:17
  • El modificador $position especifica la ubicación en el arreglo en la que el operador $ push inserta elementos.

  • Sin el modificador de posición, el operador $ push inserta elementos al final del arreglo.

  • Desde la versión 3.6., $position puede aceptar un valor de índice del arreglo negativo para indicar la posición comenzando desde el final, contando desde (pero sin incluir) el último elemento del arreglo.

Modificadores de actualización Arreglos: $position
04:10
  • El modificador $slice limita el número de elementos del arreglo durante una operación $push.

  • Para usar el modificador $slice debe aparecer con el modificador $each.

  • Puede pasar un arreglo vacío [] al modificador $each de modo que sólo el modificador $slice tenga efecto.

Modificadores de actualización Arreglos: $slice
09:41
  • El modificador $sort ordena los elementos de un arreglo durante una operación $push.

  • Para usar el modificador $ sort, debe aparecer con el modificador $ each. Puede pasar un arreglo vacío [] al modificador $ each de modo que sólo el modificador $ sort tenga efecto.

Modificadores de actualización Arreglos: $sort
09:29
+ Las agregaciones en MongoDB
10 lectures 56:13
  • Las operaciones de agregación procesan registros de datos y devuelven el resultado calculado.

  • Las operaciones de agregación agrupan valores de varios documentos y pueden realizar una variedad de operaciones en los datos agrupados para obtener un único resultado.

  • El marco de agregación de MongoDB se basa en el concepto de canalización de procesamiento de datos. Los documentos entran en una “tubería” de etapas que transforma los documentos en un resultado.

Introducción a las agregaciones en MongoDB
05:27
  • $ abs Devuelve el valor absoluto de un número.

  • $ add Agrega números para devolver la suma, o agrega números y una fecha para devolver una nueva fecha. Si agrega números y una fecha, trata los números como milisegundos. Acepta cualquier cantidad de expresiones de argumento, pero a lo sumo, una expresión puede resolverse en una fecha.

  • $ ceil Devuelve el entero más pequeño mayor o igual que el número especificado.

Agregaciones: $add
06:49
  • Devuelve un arreglo de todos los valores únicos que resultan de aplicar una expresión a cada documento en un grupo de documentos que comparten el mismo grupo por clave. El orden de los elementos en el arreglo de salida no está especificado.

  • $ addToSet sólo está disponible en la etapa $ group.

Agregaciones: $addToSet
05:54

Concatena cadenas en una sola.

Agregaciones: $concat
03:07
  • Concatena arreglos para devolver un arreglo concatenado.

Agregaciones: $concatArrays
03:49
  • Evalúa una expresión booleana para devolver una de las dos expresiones de retorno especificadas.

Agregaciones: $cond
04:40

Construye y devuelve un objeto Date dadas las propiedades constituyentes de la fecha.

Agregaciones: $dateToParts
05:03

Construye y devuelve un objeto Date dadas las propiedades constituyentes de la fecha.

Agregaciones: $dateFromParts
07:56

Convierte un objeto de fecha en una cadena de acuerdo con un formato especificado por el usuario.

Agregaciones: $dateToString
07:27
  • Convierte una cadena de fecha / hora en un objeto de fecha.

Agregaciones: $dateFromString
06:01
+ Aggregation Pipeline Model
9 lectures 54:19
Etapa $match
04:01
  • Toma los documentos devueltos por la canalización de agregación y los escribe en una colección específica.

  • El operador $ out debe ser la última etapa en la tubería.

  • El operador $ out permite que el marco de agregación devuelva conjuntos de resultados de cualquier tamaño.

{ $out: "<coleccion-salida>" }


Etapa $out
05:10
  • Ordena todos los documentos de entrada y los devuelve a la canalización en orden indicado.

{ $sort: { <field1>: <sort order>, <field2>: <sort order> ... } }


Etapa $sort
04:11
  • Agrupa documentos por alguna expresión especificada y envía a la siguiente etapa un documento para cada agrupación distinta.

  • Los documentos de salida contienen un campo _id que contiene el grupo distinto por clave.

  • Los documentos de salida también pueden contener campos calculados que contienen los valores de alguna expresión de acumulador agrupada por el campo _id del $ group.

Etapa $group
11:35
  • $limit: Limita el número de documentos pasados ​​a la siguiente etapa en la tubería.

  • $skip: Salta el número especificado de documentos que pasan a la etapa y pasa los documentos restantes a la siguiente etapa en la tubería (pipeline).

Etapas $limit y $skip
04:13

$count Pasa un documento a la siguiente etapa que contiene un recuento del número de documentos ingresados ​​a la etapa.

Etapa $count
03:23
  • Pasa los documentos con los campos solicitados a la siguiente etapa en la tubería.

  • Los campos especificados pueden ser campos existentes de los documentos de entrada o campos recién calculados.

{ $project: { <specification(s)> } }


Etapa $project
08:48
  • Deconstruye un campo de arreglo a partir de los documentos de entrada para generar un documento para cada elemento.

  • Cada documento de salida es el documento de entrada con el valor del campo de arreglo reemplazado por el elemento.

{ $unwind: <field path> }


Etapa $unwind
02:37

En esta clase veremos ejemplos utilizando las herramientas de agregación.

Ejemplos de agregación
10:21
+ Manejo de MongoDB desde Python
12 lectures 01:09:15

Instalación de Robo 3T, antes roboMongo.

Herramientas gráficas (GUI) para manejar Python
05:09
  • Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en una sintaxis que favorezca un código legible.

  • Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional.

  • Es un lenguaje interpretado, de tipado fuerte, dinámico y multiplataforma.

Introducción e instalación de Python en Windows
07:41
  • Para crear una base de datos en MongoDB, comience por crear un objeto MongoClient, luego especifique una URL de conexión con la dirección IP correcta y el nombre de la base de datos que desea crear.

  • MongoDB creará la base de datos si no existe y establecerá una conexión con ella.

  • En MongoDB, una base de datos no se crea hasta que obtiene contenido.

  • MongoDB espera hasta que haya creado una colección, con al menos un documento antes de que realmente cree la base de datos.

Crear una base de datos en MongoDB desde Python
05:09
  • Para crear una colección en MongoDB, use el objeto de base de datos y especifique el nombre de la colección que desea crear.

  • MongoDB creará la colección si no existe.

  • En MongoDB, una colección no se crea hasta que inserta contenido.

  • MongoDB espera hasta que haya insertado un documento antes de que realmente cree la colección.

  • Puede verificar si existe una colección en una base de datos enumerando todas las colecciones.

  • O puede verificar una colección específica por nombre.

Crear una colección en la base de datos MongoDB
06:09
  • Un documento en MongoDB es lo mismo que un registro en bases de datos SQL.

  • Para insertar un registro, o documento como se llama en MongoDB, en una colección, utilizamos el método insert_one ().

  • El primer parámetro del método insert_one () es un diccionario que contiene los nombres y los valores de cada campo en el documento que desea insertar.

  • El método insert_one () devuelve un objeto InsertOneResult, que tiene una propiedad, inserted_id, que contiene el id del documento insertado.

Insertar un documento en una colección en MongoDB
08:50
  • En MongoDB usamos los métodos find y find_one para buscar datos en una colección.

  • Al igual que la instrucción SELECT se usa para encontrar datos en una tabla en una base de datos MySQL.

  • Para seleccionar datos de una colección en MongoDB, podemos usar el método find_one ().

  • El método find_one () devuelve la primera aparición en la selección.

  • Para seleccionar datos de una tabla en MongoDB, también podemos usar el método find (). El método find () devuelve todas las ocurrencias en la selección.

  • El primer parámetro del método find () es un objeto de consulta.

Buscar datos en una colección
05:32
  • Cuando encuentre documentos en una colección, puede filtrar el resultado utilizando un objeto de consulta.

  • El primer argumento del método find () es un objeto de consulta y se usa para limitar la búsqueda.

  • Para realizar consultas avanzadas, puede usar modificadores como valores en el objeto de consulta.

  • P.ej. para encontrar los documentos donde el campo de "dirección" comienza con la letra "S" o superior (alfabéticamente), use el modificador mayor que: {"$ gte": "S"}.

Filtrar datos en MongoDB con Python
05:36
  • Use el método sort () para ordenar el resultado en orden ascendente o descendente.

  • El método sort () toma un parámetro para "nombre de campo" y un parámetro para "dirección" (ascendente es la dirección predeterminada).

  • Use el valor -1 como el segundo parámetro para ordenar descendente.

Ordenar datos en MongoDB con Python
05:48
  • Para limitar el resultado en MongoDB, usamos el método limit ().

  • El método limit () toma un parámetro, un número que define cuántos documentos devolver.

  • Podemos saltar los documentos con skip(numero).

Limitar datos en MongoDB desde Python
03:35
  • Puede actualizar un registro o documento como se llama en MongoDB, utilizando el método update_one().

  • El primer parámetro del método update_one() es un objeto de consulta que define qué documento actualizar.

  • Si la consulta encuentra más de un registro, solo se actualiza la primera aparición.

  • El segundo parámetro es un objeto que define los nuevos valores del documento.

  • Para actualizar todos los documentos que cumplan los criterios de la consulta, use el método update_many().

Modificar datos en MongoDB desde Python
07:44
  • Para eliminar un documento, utilizamos el método delete_one ().

  • El primer parámetro del método delete_one () es un objeto de consulta que define qué documento eliminar.

  • Si la consulta encuentra más de un documento, solo se elimina la primera aparición.

  • Para eliminar más de un documento, use el método delete_many ().

  • El primer parámetro del método delete_many () es un objeto de consulta que define qué documentos eliminar.

  • Para eliminar todos los documentos de una colección, pase un objeto de consulta vacío al método delete_many ().

Borrar datos en MongoDB
05:41
  • Puede eliminar una tabla o colección como se llama en MongoDB, utilizando el método drop ().

  • El método drop () devuelve true si la colección se eliminó correctamente y false si la colección no existe.

Borrar una colección de MongoDB con Python
02:21
+ A manera de conclusión
1 lecture 03:02
Despedida del curso "Introducción a MongoDB"
03:02
Requirements
  • Conocimientos básicos de programación (no indispensable)
  • Conocimientos básicos de manejo de datos (no indispensable)
Description

MongoDB es la base de datos No SQL más populares y de más rápida adopción en el mundo. Es una base de datos de código abierto. La información la guarda en colecciones, no en tablas, como la hacen las bases de datos relacionales con SQL. Mongo guardará los datos en formato JSON, aunque en la implementación lo guarda en BSON (el formato JSON pero en binario). Las impementaciones son rápidas y sencillas. MongoDB pueden ser manejados en lenguajes como C++, C, Python, PHP, NodeJS y muchos más.

​​El alumno :

  • Aprenderá a insertar, modificar, borrar y consultar los documentos de una base de datos NoSQL.

  • Aprenderá los operadores lógicos y de comparación para la consulta de documentos en MongoDB.

  • Aplicará los modificadores de actualización de los documentos.

  • Aprenderá a realizar diferentes cálculos o agregaciones.

  • Aprenderá a realizar agregaciones en el modelo de "tubería" o "canalización".

Este curso está enfocado para los desarrolladores web y de aplicaciones que deseen aprender la base NoSQL MongoDB.

Es deseable que tengas conocimientos generales de programación conocimientos generales de manejo de base de datos, pero no son indispensables. Tendrás los archivos  y los apuntes del curso.


Who this course is for:
  • Desarrolladores web o de aplicaciones.