.create()
在数据库中创建一个记录。
await Something.create(initialValues);
或
var createdRecord = await Something.create(initialValues).fetch();
参数 | 类型 | 详情 | |
---|---|---|---|
1 | initialValues | 新记录的初始值。(注意,如果此模型处于 "模式化" 模式,则任何多余的键将被静默省略。) |
注意:出于性能原因,从 Sails v1.0 / Waterline 0.13 开始,传递到此模型方法的
initialValues
字典将在大多数情况下被就地修改(而在 Sails/Waterline v0.12 中,情况并非如此)。
类型 | 描述 |
---|---|
为了提高性能,默认情况下不会将创建的记录作为结果提供。但如果你链接了 .fetch() ,那么新创建的记录将被发送回来。(请注意,这在某些适配器中需要额外的数据库查询。) |
名称 | 类型 | 何时? |
---|---|---|
UsageError | 如果传递了无效的内容,则会抛出。 | |
AdapterError | 如果数据库适配器中出现错误,则会抛出。有关如何协商唯一性错误(例如,尝试创建具有重复项的记录,这将违反唯一性约束)的示例,请参见 概念 > 模型和 ORM > 错误。 | |
Error | 如果发生任何其他意外情况,则会抛出。 |
有关在 Sails 和 Waterline 中协商错误的示例,请参见 概念 > 模型和 ORM > 错误。
键 | 类型 | 详情 |
---|---|---|
fetch | 如果设置为 true ,则会将创建的记录发送回来。默认为 false 。 |
有关元键的更多信息,请参见 .meta()。
在数据库中创建一个名为 Finn 的用户
await User.create({name:'Finn'});
return res.ok();
var createdUser = await User.create({name:'Finn'}).fetch();
sails.log('Finn\'s id is:', createdUser.id);
始终处理模型方法的错误非常重要。但有时,你需要以更细粒度的方式查看错误。要了解有关 Waterline 返回的错误类型的更多信息,以及有关如何处理它们的示例,请参见 概念 > 模型和 ORM > 错误。
- 此方法可以与
await
、promise 链或 传统的 Node 回调 一起使用。