Actualización de datos

Update()

Actualización masiva de documentos

El comando update recibe dos objetos, el primero es similar a la clausula where de SQL, y el segundo objeto, indica lo que se va añadir:

Como se puede ver, el documento con _id = 5 ha perdido sus propiedades y ahora incluye lo que se ha puesto en la sentencia update. Mongo es un almacén de objetos. Si se recupera el objeto, se manipula y se vuelve a guardar, sin importar lo que tuviera antes… corremos un riesgo, así que más adelante se verán otras operaciones de manipulación de datos.

El operador $set y $inc

Podemos indicar, las propiedades que queremos actualizar, sin alterar el resto del objeto, haciendo uso del comando $set:

Usando el comand $inc, podemos incrementar el valor. En el caso de que no exista el campo que se quiere incrementar, se creará dicho campo con el valor que se pone como incremento:

El operador $unset

Podemos eliminar una propiedad de un objeto con el comando $unset:

Uso de $push, $pop, $pull, $pushAll, $pullAll y $addToSet

Podemos modificar un elemento de un array con $set:

Para añadir un elemento al final del array usamos $push:

La operación contraria es $pop, que elimina el elemento del final del array. Para eliminar un elemento del principio, se añade un número negativo:

Se añaden varios elementos con $pushAll:

Para eliminar un valor concreto del array, se usa $pull, por ejemplo, vamos a eliminar todos los 8 que haya:

Del mismo modo, se pueden retirar varios valores con $pullAll, por ejemplo, del array anterior:

Para añadir un elemento de modo que si existe en el array no haga nada y si no existe, lo añada, se puede usar $addToSet

$Upserts

Sería una operación de “save or update”, si está, lo actualiza, y si no, lo crea. Para que lo cree, hay que poner el parámetro upsert a true:

Multi update

Si hacemos un update donde la consulta nos devuelva más de un resultado, se hará el update de un único elemento indeterminado. Si lo que queremos es actualizar varios registros, tenemos que poner “multi:true”, así:

Hasta aquí las actualizaciones de documentos. En el próximo artículo aprenderemos a eliminar datos

Un comentario:

  1. Muy bueno, continua así, felicitaciones

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *