No tienes acceso a esta clase

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

Aprende todo un fin de semana sin pagar una suscripción 🔥

Aprende todo un fin de semana sin pagar una suscripción 🔥

Regístrate

Comienza en:

5D
13H
46M
33S

Actualizando un documento

13/30
Recursos

Aportes 5

Preguntas 0

Ordenar por:

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

o inicia sesión.

Los operadores son símbolos especiales que ayudan a los compiladores a realizar tareas matemáticas o lógicas. MongoDB ofrece varios tipos de operadores para interactuar con la base de datos.

Actualizar documento

para actualizar un documento debemos pasar un query con un identificador del documento y un objeto con operadores como $inc para incrementar propiedades numéricas o $set para setear una o mas propiedades, añadir una nueva etc.

{
  _id: "8asd8asd8asd8asd", 
  name: "Juan",
  age: 20 
}

modificar una propiedad

db.collection.updateOne({ _id: ObjectId("id")}, { $set:  {name: "change name"}})

modificar varias propiedades

db.collection.updateOne({ _id: ObjectId("id")}, { $set: { name: "change name", age: 23}})

añadir una nueva propiedad

db.collection.updateOne({ _id: ObjectId("id")}, { $set: { name: "change name", age: 23, gender: "M" }})

incrementar una propiedad

db.collection.updateOne({ _id: ObjectId("id")}, { $inc: { age: 5 }})

Para quienes no asignaron id sino que utilizan el autogenerado por mongo, el update sería:

db.products.updateOne(
   { "_id": ObjectId("63e91131ae0786ce88df4944") },
   { $set: { "name": "New Miniature 1", "price": 110 } }
)

donde ObjectId es la propiedad para accede dentro del documento. Ya que este se vería así en los registros:

{
    "_id": {
      "$oid": "63e91131ae0786ce88df4944"
    },
    "name": "Product 1",
    "price": 100
  }
use("platzi_store")

//ACTUALIZAR ATRIBUTOS con $set
db.products.updateOne(
    //query
    {
        _id: 1
    },
    //change => operator
    {
        $set: {
            name: 'basura',
            price: 1,
            tags: ['useless', 'small'] //tambien puede añadir propiedades nuevas
        }
    }
)

///INCREMENTO con $inc
db.products.updateOne(
    //query
    {
        _id: 1
    },
    //change => operator
    {
        $inc: {
            price: 100
        }
    }
)

//BUSCAR Y MODIFICAR UN OBJETO CON ID AUTOGENERADO POR MONGO CON ObjectId()
db.products.updateOne(
    //query
    {
        _id: ObjectId("63d81a4a8e4fe2331cfbef8f")
    },
    //change => operator
    {
        $inc: {
            price: 100
        }
    }
)

db.products.find()

// $set: "Sets the value of a field in a document."
// $inc: "Increments the value of the field by the specified amount."
// Objectld: "Function to find a doc with objlD"