No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Actualizando varios documentos

14/30
Recursos

Aportes 7

Preguntas 6

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Listado de operadores de actualizaci贸n:

  • $inc: Incrementa el valor de un atributo num茅rico en una cantidad espec铆fica.
    |
  • $mul: Multiplica el valor de un atributo num茅rico por un factor espec铆fico.
    |
  • $rename: Cambia el nombre de un atributo.
    |
  • $set: Asigna un valor espec铆fico a un atributo.
    |
  • $unset: Elimina un atributo de un documento.
    |
  • $min: Actualiza el valor de un atributo con el valor m铆nimo especificado, s贸lo si el valor actual es mayor que el valor especificado.
    |
  • $max: Actualiza el valor de un atributo con el valor m谩ximo especificado, s贸lo si el valor actual es menor que el valor especificado.
    |
  • $currentDate: Establece el valor de un atributo como la fecha y hora actual.
    |
  • $addToSet: A帽ade un valor a un atributo de tipo conjunto (array), s贸lo si el valor no existe en el conjunto.
    |
  • $pop: Elimina el primer o 煤ltimo elemento de un atributo de tipo conjunto (array).
    |
  • $pull: Elimina un valor espec铆fico de un atributo de tipo conjunto (array).
    |
  • $push: A帽ade un valor a un atributo de tipo conjunto (array).
    |
  • $pullAll: Elimina varios valores espec铆ficos de un atributo de tipo conjunto (array).

M谩s operadores:

  • $set: Permite agregar o modificar un atributo.
  • $rename: Podemos renombrar un atributo sin necesidad de meterme con los valores.
  • $unset: Eliminar algun atributo.

Para comentar l铆neas de c贸digo en VS Code pueden utilizar el siguiente atajo

  1. Seleccionan las l铆neas a comentar
  2. Presionar Ctrl + K + C

Para descomentar las l铆neas

  1. Seleccionar las l铆neas a descomentar
  2. Presionar Ctrl + K + U

Para que no tengan que comentar las l铆neas de c贸digo que no van a usar en ese mismo momento, recuerden que, en visual studio code, pueden seleccionar varias l铆neas de c贸digo usando la tecla alt.

Primero, con su cursor hacen click y seleccionan el bloque de c贸digo que quieren ejecutar, luego, van hasta la parte de arriba, donde dice use("sample_training"), mantienen la tecla alt y seleccionan esa l铆nea de c贸digo.

Luego pueden darle al bot贸n de run, y mongodb ejecutar谩 solo el c贸digo que ustedes seleccionaron.

link a la documentacion con los operadores de actualizacion

use("sample_training");

db.zips.updateMany(
  //query has two conditions, population $gt is greater than
  { city: "CLEVELAND", pop: { $gt: 50000 } },
  {
    $inc: {
      pop: 20,
    },
    $set: {
      //add new attribute
      my_description: "This state is bigger",
    },
  }
);

db.zips.updateMany(
  { city: "CLEVELAND", pop: { $gt: 50000 } },
  {
    $rename: {
      //rename this attribute
      my_description: "description",
    },
  }
);

db.zips.updateMany(
  { city: "CLEVELAND", pop: { $gt: 50000 } },
  {
    $unset: {
      // delete this attribute
      description: "",
    },
  }
);

db.zips.find({ city: "CLEVELAND", pop: { $gt: 50000 } });

Querys de casos de uso de estos operadores

db.test2.updateMany({ age: { $gt: 18 }},{ $set: {adulto: true} })
db.libros.updateOne({_id :{ $eq: ObjectId ('64ed1a9946f812aa794d176b')}} , { $unset : { id:''}})

db.test2.updateOne({ _id: { $eq: ObjectId('64ed1a9946f812aa794d176b')}} , { $unset : { id:''}})

db.test2.updateOne( { $and: [{ age: { $lt: 18 }}, { name: { $exists: true }}]}, { $set: { adulto: false }})

db.test2.updateMany( { $and: [{ age: { $lt: 18 }}, { name: { $exists: true }}]}, { $set: { adulto: false }})

db.test2.updateOne(
  { _id: { $in: [ObjectId('64ed1cd746f812aa794d176f'), ObjectId('64ed1cb546f812aa794d176e')] } },
  { $set: { name: 'update in' } }
)


db.test2.updateMany(
  { _id: { $in: [ObjectId('64ed1cd746f812aa794d176f'), ObjectId('64ed1cb546f812aa794d176e')] } },
  { $set: { name: 'update in' } }
)

db.test2.updateOne( { $and: [{ adulto: { $ne: true }}, { full_name: { $eq: 'update in' }}]}, [{ $set: { ref: { $concat: ['$_id', '$age'] }}}])

// para incrementar valores de un campo $inc, si no existe el campo lo crea, pero si debe existir por el parametro de busquedad
db.products.updateOne(  {_id: 4 },  {    $inc: {      price: 50    }  }){    "_id": 4,    "name": "Prodcut 4",    "price": 450  }
ahora _id: 4 , el campo price quedaria en 500

// esta accion evita que se pare la insercion de los documentos, si alguno contiene error
db.products.insertMany([...] , {  ordered: false}))