我具有以下功能,可用于将URL更新为用户的个人资料照片-
const updateProfilePic = async (req, res) => {
const userId = req.param("id");
if (userId) {
const targetPath = `...`;
User.update(
{
profilePic: targetPath
},
{ where: { id: userId }, returning: true }
)
.then(updatedUser => {
console.log(updatedUser);
res.json(updatedUser);
})
.catch(error => {
console.log(error);
res.status(400).send({ error: error });
});
}
};
这将成功更新数据库-但是then
获得[ undefined, 1 ]
作为updatedUser
而不是用户数据-如果删除returning : true
标志,它将仅返回{{ 1}}。我不确定自己在做什么错-我正在尝试获取用户对象,以便将其传递给客户端。
答案 0 :(得分:1)
我想您不是在使用Postgres。
仅在Postgres中支持选项中的returning
属性。
Update()
返回包含一个或两个元素的数组。第一个元素是受影响的行数。 postgres仅支持第二个数组元素,并将返回更新后的行。
因此,您将得到返回的 1 ,即更新的行数。