‫-: Bienvenido de nuevo.
‫Espero que se esté divirtiendo hasta ahora en esta sección.
‫Sé que lo soy, así que
‫sigamos avanzando y aprendiendo cómo actualizar documentos con Mongodb.
‫Así que de vuelta en nuestro mongoshell,
‫ahora usemos db. Excursiones. updateOne.
‫¿Okey?
‫Entonces eso es similar a. insertone que usamos
‫para crear un nuevo documento.
‫Y recuerda cómo también lo teníamos. insertmany y
‫así también tenemos. updatemany.
‫Ahora, ¿cómo lo hace? actualizar muchos trabajos?
‫Bueno, primero debemos
‫seleccionar qué documentos realmente queremos actualizar y,
‫segundo, debemos pasar los datos que deben actualizarse.
‫Entonces, el primer argumento es básicamente un objeto
‫de filtro, tal como aprendimos en la última lección.
‫Entonces, básicamente, necesitamos consultar los
‫documentos que queremos actualizar y comencemos con eso
‫comenzando de una manera muy simple.
‫Así que solo voy a seleccionar en
‫función del
‫nombre The Snow Adventure.
‫¿Okey?
‫Así que ese es mi objeto de
‫filtro muy simple, así que especificar el recorrido que quiero actualizar.
‫Y ahora, el segundo
‫objeto que necesito especificar es lo que realmente quiero actualizar.
‫Entonces, otro objeto aquí y luego cerramos la función.
‫Y entonces aquí necesitamos usar el operador set.
‫Entonces, nuevamente, esto funciona usando operadores
‫como en estas consultas complejas que vimos en el último video.
‫Así que configure y luego necesitamos crear
‫otro objeto y finalmente en este podemos especificar la propiedad
‫que queremos actualizar y el valor que queremos establecer.
‫Entonces, en este caso,
‫lo que queremos hacer es establecer el precio en 597.
‫¿Está bien?
‫Así que este era 497 y ahora, básicamente,
‫lo estamos aumentando a 597.
‫¿Está bien?
‫Así que presionemos regresar y luego se actualizará, nuestro recorrido.
‫Ahora bien, si esta consulta aquí
‫hubiera coincidido con varios documentos.
‫No puedo seleccionarlo por alguna razón,
‫pero puedes verlo.
‫Entonces, si esta consulta que
‫hicimos aquí hubiera seleccionado varios documentos, solo el
‫primero se habría actualizado porque estábamos
‫usando. updatemain.
‫Entonces, si ya sabemos de antemano que nuestra
‫consulta va a coincidir con varios documentos, entonces
‫deberíamos usar. updatemany y
‫no. actualizar uno.
‫¿Okey?
‫Ahora, solo para mostrarle que
‫realmente funcionó, echemos un vistazo a todos los documentos.
‫Entonces db. Excursiones. encontrar y, de hecho,
‫tenemos The Snow Adventure aquí con
‫el nuevo precio.
‫Excelente.
‫Así que actualizamos una propiedad que ya existía.
‫Entonces, el precio ya estaba allí y
‫simplemente lo establecemos en un nuevo valor, pero también
‫podemos crear nuevas propiedades y establecerlas en nuevos valores, por supuesto.
‫Y en realidad funciona de la misma manera,
‫pero déjame mostrártelo de todos modos.
‫Y lo que quiero hacer aquí es encontrar
‫recorridos premium y darles un campo premium configurado como verdadero.
‫Entonces, ¿cuáles son nuestros tours premium?
‫Bueno, primero hagamos una búsqueda.
‫Así que solo para especificar esa consulta.
‫Y de hecho ya lo hicimos antes.
‫Entonces, los tours que quiero deben tener un precio mayor a 500 y
‫una calificación mayor o igual a 4. 8.
‫Así que estos son realmente nuestros tours premium,
‫básicamente, realmente los que son más
‫caros y mejor calificados.
‫Entonces, crear esta consulta es bastante simple.
‫Y nuevamente porque en realidad ya lo hicimos antes.
‫Ahora, lo que quiero que hagas aquí es pausar
‫el video e incluso si
‫lo recuerdas, escribe esta consulta por tu cuenta.
‫Y si no lo recuerdas, bueno, eso es incluso mejor, entonces
‫puedes practicar lo que acabas de aprender
‫en el último video.
‫¿Está bien?
‫Así que pausa el video aquí e intenta
‫realizar esta consulta por tu cuenta.
‫De nuevo, queremos que el precio sea superior a 500 y
‫la calificación sea superior o igual a 4. 8.
‫Está bien, espero que lo hayas hecho.
‫Y esta es la solución.
‫Por lo tanto, el precio debe ser mayor o igual a 500 y la calificación
‫debe ser mayor o igual a 4. 8.
‫¿Okey?
‫Y aquí establecemos simplemente mayor que lo que
‫en realidad es lo mismo.
‫Nos dará el mismo resultado.
‫Pero no importa, hagámoslo exactamente como dije.
‫Entonces, para asegurarnos, veamos si obtenemos el resultado perfecto
‫y, de hecho, este es el recorrido que
‫tiene este precio premium y al mismo tiempo esta
‫calificación premium.
‫¿Okey?
‫Y en este caso, solo tenemos un resultado
‫pero, por supuesto, podríamos tener múltiples resultados.
‫Y ahora usemos. updatemany.
‫Entonces db. Excursiones. updatemany.
‫Y entonces nuestro objeto de filtro que queremos es este.
‫Así que solo lo estoy copiando de aquí.
‫Así que ese es el primer argumento
‫y el segundo es en realidad lo que queremos actualizar.
‫¿Recuérdalo?
‫Entonces, nuevamente usamos el operador set
‫y luego decimos que queremos que premium sea cierto.
‫¿Okey?
‫Y esta vez creamos un nuevo campo aquí
‫y lo configuramos como verdadero.
‫¿Okey?
‫Guarde ese y en realidad nos faltaba un par de
‫llaves de cierre, por lo que realmente no podemos volver atrás,
‫así que permítanme intentar agregarlo aquí.
‫Pero, eso realmente no funciona, pero de
‫todos modos no importa, podemos volver al
‫último comando y luego corregirlo.
‫Así que esta es la abrazadera que nos faltaba,
‫luego ciérrala y aquí vamos.
‫Entonces db. Excursiones. encuentra solo para comprobarlo ahora.
‫Y aquí tenemos el último que ahora
‫tiene premium configurado como verdadero.
‫Y nuevamente, este fue el único documento
‫que coincidió con nuestra consulta y, por lo tanto, es el único
‫que obtuvo
‫esta nueva propiedad premium aquí, pero si hubiera
‫varios documentos que coincidan con esa consulta, entonces todos
‫habrían obtenido esta prima verdadera.
‫¿Okey?
‫Entonces es por eso que usamos. actualice muchos
‫y recuerde si usamos. updateone, solo se
‫actualiza el primer documento que coincide con la consulta.
‫¿Okey?
‫Así es como actualizamos los documentos, al menos parcialmente,
‫con esto. updatemany o. updateone normalmente
‫solo actualizamos partes del documento, pero también
‫podemos reemplazar completamente el contenido del documento.
‫Y para eso usamos. Reemplazar uno.
‫No voy a hacer eso,
‫pero en aras de la integridad, también quería mostrárselo.
‫Entonces db. Excursiones. reemplazar uno o. reemplace muchos, ¿de acuerdo?
‫Y así, aquí, como antes, pasaría la
‫consulta de búsqueda y luego los nuevos datos que
‫desea incluir en este documento.
‫Está bien, no voy a hacer eso aquí.
‫Pero ahora sabes que también existe.
‫Y así tenemos tres de nuestras operaciones
‫correctas ya completadas.
‫Entonces, creando, leyendo y actualizando y, como puede
‫adivinar, en el siguiente video hablaremos sobre
‫cómo eliminar documentos.