编辑页面

.updateOne()

更新匹配给定条件的记录(如果存在)。

var updatedRecord = await Something.updateOne(criteria)
.set(valuesToSet);

在尝试修改数据库之前,Waterline 会检查是否有多条记录匹配给定条件;如果是,它会抛出一个错误而不是继续执行。

用法

#
参数 类型 详情
1 criteria Dictionary 用于匹配数据库中记录的Waterline 查询条件
2 valuesToSet Dictionary 所有匹配记录都应更新为具有的值的字典(普通 JavaScript 对象)。(注意,如果此模型处于“模式化”模式,则任何多余的键都会被静默忽略。)

注意:出于性能原因,从 Sails v1.0 / Waterline 0.13 开始,传递给此模型方法的 valuesToSet 对象在大多数情况下都会就地修改(而在 Sails/Waterline v0.12 中,情况并非总是如此)。

结果
#
类型 描述
Dictionary? updateOne() 永远不会更新超过一条记录,因此,如果更新了一条记录,则该记录将作为结果提供。否则,将返回 undefined
错误
#

有关在 Sails 和 Waterline 中协商错误的示例,请参见概念 > 模型和 ORM > 错误

示例

#
var updatedUser = await User.updateOne({ firstName:'Pen' })
.set({
  firstName:'Finn'
});

if (updatedUser) {
  sails.log('Updated the user named "Pen" so that their new name is "Finn".');
}
else {
  sails.log('The database does not contain a user named "Pen".');
}

备注

#

是否缺少某些内容?

如果您发现我们遗漏了某些内容或可以改进的地方,请遵循此链接并向 sails 存储库提交拉取请求。合并后,更改将在网站下次部署时反映出来。

参考

参考