DEV Community

Andrés Valdivia Cuzcano
Andrés Valdivia Cuzcano

Posted on

Actualizando datos de la BD

Para actualizar un dato existente en la base de datos se usa el método put(item, key), sin embargo, si el dato solicitado no existe este método lo crea e inserta en el Object Store correspondiente. Este método devuelve como resultado el key del elemento almacenado.

El método usado recibe dos parámetros, donde el primero es el objeto a actualizar o insertar, y el segundo parámetro es opcional y hace referencia al key del objeto, este último parámetro solo es necesario cuando se usa un valor autoincrement como la key de los objetos almacenados, ya que si no se especifica se creará un objeto nuevo con un key generado automáticamente.

Para actualizar, usualmente primero se usa el método get(key) para obtener el objeto almacenado, luego actualizar las propiedades necesarias y finalmente se usa el método put(obj) con el nuevo objeto.

function updateStudent(key){
    const objectStore = db.transaction('students')
                          .objectStore('students');

    const request = objectStore.get(key);

    request.onsuccess = ()=> {

        const student = request.result;

        // Cambiamos el nombre
        student.name = 'Fulanito';

        // Creamos otro request para actualizar
        const updateRequest = objectStore.update(student);

        updateRequest.onsuccess = () => {

            console.log(`Estudiante acutalizado, correo: ${updateRequest.result}`)

        }
    }
}

updateStudent('andres@andres.com');
Enter fullscreen mode Exit fullscreen mode

Top comments (0)