No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Update or insert

16/30
Recursos

Aportes 8

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

El código del minuto 5:59 estsa incorrecto, para que les funcione debe ejecutar el siguiente código con el operador $push:

db.iot.updateOne({
  sensor: "A001",
  date: "2022-01-03",
}, {
  $push: {
    readings: [2323]
  }
})

upsert: Esta condición permite agregar un elemento en un array dentro de un documento. Lo que lo hace especial es que si el documento no existe, este operador lo crea, y si ya existe, inserta los nuevo elementos del array sobre el documento existente.

Este es mi aporte de resumen:

use("platzi_store")

//Use Upsert para crear o actualizar un registro.
db.iot.updateOne({
    sensor: "A001",
    date: "2022-01-04",
}, {
    $push: {
        readings: 12434
    }
},{
    upsert: true // El operador $push agrega un valor al array readings en el documento existente que coincide con los criterios de búsqueda sensor: "A001" y date: "2022-01-04". Si no existe un documento que cumpla con esos criterios, se crea uno nuevo debido al uso de upsert: true.
})

Otra opcion para agregar valores en un array es el operardor “$addToSet”

En este caso vamos a ver un ejemplo de documentos donde guardamos información de sensores iot. Las bases de datos documentales son perfectas para este tipo de información, ya que se requiere la lectura y escritura rápida de información, además de haber muchos datos. * insertOne: Agrega un documento nuevo * updateOne: Actualiza un documento existente * upsert: en conjunto con updateOne lo que hace es comprobar si el documento existe, si es así, lo actualiza, y si no, lo crea nuevo. * pop: eliminamos un elemento de un array, hay que indicar la posición del elemento a eliminar. 1 elimina el último elemento, -1 elimina el primero.
```js use('football'); // si existen los datos los actualiza, sino crea un nuevo registro db.teams.updateOne({ name: "Atletico Madrid", }, { $set: { name: "Atletico Madrid", league: "La Liga", country: "Spain" } },{upsert:true}); ```

Muy bueno ir viendo el curso ya con temas prácticos

Genial y muy interesante esta clase 👌👏