style body attribute javascript sequelize.js

javascript - body - title css



Secuela: actualizar el registro y devolver el resultado (2)

Esto es lo que creo que estás buscando.

db.connections.update({ user: data.username, chatroomID: data.chatroomID }, { where: { socketID: socket.id }, returning: true, plain: true }) .then(function (result) { console.log(result); // result = [x] or [x, y] // [x] if you''re not using Postgres // [x, y] if you are using Postgres });

Desde Sequelize docs : La promesa devuelve una matriz con uno o dos elementos. El primer elemento x siempre es el número de filas afectadas, mientras que el segundo elemento y son las filas reales afectadas (solo se admite en postgres con options.returning establecido en true ).

Suponiendo que está utilizando Postgres, puede acceder al objeto actualizado con el result[1].dataValues .

Debe establecer la opción returning: true para decirle a Sequelize que devuelva el objeto. Y plain: true es solo devolver el objeto en sí y no los otros metadatos desordenados que podrían no ser útiles.

Estoy usando secuela con MySQL. Por ejemplo si lo hago:

models.People.update({OwnerId: peopleInfo.newuser}, {where: {id: peopleInfo.scenario.id}}) .then(function (result) { response(result).code(200); }).catch(function (err) { request.server.log([''error''], err.stack); ).code(200); });

No estoy obteniendo información si el modelo de personas se actualizó con éxito o no. El resultado variable es solo una matriz con un elemento, 0 = 1

¿Cómo puedo saber con seguridad si el registro se actualizó o no?


La función de actualización de la secuela devuelve un número de filas afectadas (primer parámetro de la matriz de resultados).

Usted debe llamar a encontrar para obtener fila actualizada

models.People.update({OwnerId: peopleInfo.newuser}, {where: {id: peopleInfo.scenario.id}}) .then(function (result) { models.People.findById(peopleInfo.scenario.id) .then(function(user){ response(user).code(200); }).catch(function (err) { request.server.log([''error''], err.stack); ).code(200); }); }).catch(function (err) { request.server.log([''error''], err.stack); ).code(200); });