En este post de programación te voy a enseñar cómo hacer un Update o actualizar un dato usando Sequelize, un ORM de Node. Es decir, actualizar ciertos campos de un modelo usando un where.
Todo esto lo haremos con Sequelize, no vamos a escribir consultas SQL manuales.
Importar modelo
Como bien sabes, Sequelize te va a permitir actualizar un modelo que corresponde a una tabla en la base de datos. Existen varias confusiones sobre cómo realizar un update de un modelo, y justamente de eso vamos a hablar hoy.
Recuerda que para comenzar debes importar tu modelo; no una instancia del mismo, sino el modelo en sí; en otras palabras, la definición de la clase. Por ejemplo, mi clase comienza así en otro archivo:
// Definimos nuestro modelo
class Equipo extends Model {
}
Y la importo con:
const Equipo = require("./modelo_equipo");
Update en Sequelize
Para actualizar un modelo, invoca al método update. Este método recibe dos argumentos: los nuevos valores, y las opciones dentro de las cuales se puede indicar el where. Por ejemplo:
await modeloEquipo.update({
trabajadoreId: peticion.body.idTrabajador,
}, {
where: {
id: idEquipo,
}
});
En este caso únicamente actualizaré el campo trabajadoreId
, así que solo especifico ese valor en el primer argumento, si te fijas es un simple objeto.
Como segundo argumento indico el where, para indicar que se va a realizar esa actualización donde el id
sea el valor que tiene idEquipo
. Otro ejemplo podría quedar así:
await TuModelo.update({
campo: "nuevo_valor",
otro_campo: "otro_valor",
// ...
}, {
where: {
campo: "determinada_condición",
otro_campo: "otra_condición (sería como usar and)",
}
});
Nota: en este caso uso await, tú puedes usar promesas; recuerda que lo importante es entender cómo actualizar valores con Sequelize.
Obviamente los nuevos valores pueden venir de cualquier lugar… un formulario, datos escritos por ti, etcétera.