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');
Top comments (0)