Por fin luego de tanto trabajar pudimos encontrar la solución de este asunto que tantos usuarios de nuestro espacio tienen. Si tienes algún detalle que aportar no dudes en compartir tu información.
Solución:
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
);
De Sequelize docs: La promesa devuelve un array con uno o dos elementos. el primer elemento x
es siempre el número de filas afectadas, mientras que el segundo elemento y
son las filas afectadas reales (solo se admiten en postgres con options.returning
ajustado a true
.)
Suponiendo que está utilizando Postgres, puede acceder al objeto actualizado con result[1].dataValues
.
debes configurar returning: true
opción para decirle a Sequelize que devuelva el objeto. Y plain: true
es solo para devolver el objeto en sí y no los otros metadatos desordenados que podrían no ser útiles.
Simplemente puede encontrar el elemento y actualizar sus propiedades y luego guardarlo. El save () da como resultado una consulta de ACTUALIZACIÓN a la base de datos
const job = await Job.findOne(where: id, ownerId: req.user.id);
if (!job)
throw Error(`Job not updated. id: $id`);
job.name = input.name;
job.payload = input.payload;
await job.save();
En Postgres:
Executing (default): UPDATE "jobs" SET "payload"=$1,"updatedAt"=$2 WHERE "id" = $3
La función de actualización de la secuencia devuelve una cantidad de filas afectadas (primer parámetro del resultado array).
Debe llamar a find para obtener una fila actualizada
models.People.update(OwnerId: peopleInfo.newuser,
where: id: peopleInfo.scenario.id)
.then(() => return models.People.findById(peopleInfo.scenario.id))
.then((user) => response(user).code(200))
.catch((err) =>
request.server.log(['error'], err.stack);
);
Comentarios y puntuaciones
Si piensas que ha sido de provecho nuestro artículo, te agradeceríamos que lo compartas con otros seniors así contrubuyes a extender nuestro contenido.