Javascript 模型中单个字段的动态更新

Javascript 模型中单个字段的动态更新,javascript,node.js,adonis.js,Javascript,Node.js,Adonis.js,我使用的是adonisjs,我的更新方法有一个问题: async update(id, data) { const user = await User.find(id); user.merge(data); return await user.save(); } 出于某种原因,merge方法不会修改提供的字段(数据是一个包含我要更新的字段及其新值的对象),但会更新所有内容。。。包括对我来说是个大问题的散列用户密码。我不想做这样的事情,只是更新提供的字段。有办法解决吗 我已经停止了

我使用的是adonisjs,我的更新方法有一个问题:

async update(id, data) {
  const user = await User.find(id);
  user.merge(data);
  return await user.save();
}
出于某种原因,merge方法不会修改提供的字段(数据是一个包含我要更新的字段及其新值的对象),但会更新所有内容。。。包括对我来说是个大问题的散列用户密码。我不想做这样的事情,只是更新提供的字段。有办法解决吗


我已经停止了应用程序,再次为其提供服务,并创建了一个新的数据库以确保安全。它不断更新不应编辑的字段。稍后,如果用户尝试登录,将收到下一条错误消息(显然):

显示正在更新的用户密码的图像:

更新之前:

更新后: 怎么了

因此,您可以只更新值而不是替换值,例如:

user.name=“foo”
到头来

wait user.save()

当然可以,但这将是一个手动更新,我希望有一个能够更新任何字段的单一方法。如果您使用adonis,放置参数是一件好事?尝试控制台日志数据、id和用户数据对象中有什么?
数据
对象看起来像这样:
{verified:true}
只是一个猜测
data=user.merge(data)
我该如何处理
data
变量?omg。。我的坏
user=user.merge(data)
它抛出一个错误:
无法读取未定义的属性“save”
尝试此等待user.save(),然后返回用户对象
{
    "message": "auth/login/error",
    "error": "E_PASSWORD_MISMATCH: Cannot verify user password"
}