.create()
在資料庫中建立一筆記錄。
await Something.create(initialValues);
或
var createdRecord = await Something.create(initialValues).fetch();
參數 | 類型 | 詳細資訊 | |
---|---|---|---|
1 | initialValues | 新記錄的初始值。(請注意,如果此模型處於「schemaful」模式,則任何多餘的鍵都將被靜默地省略。) |
注意:基於效能考量,從 Sails v1.0 / Waterline 0.13 開始,傳遞到此模型方法的
initialValues
字典在大多數情況下將會被就地修改(而在 Sails/Waterline v0.12 中,情況不一定如此)。
類型 | 描述 |
---|---|
為了提升效能,預設情況下不會提供已建立的記錄作為結果。但是,如果您鏈式調用 .fetch() ,則新建立的記錄將會被回傳。(請注意,這在某些适配器中需要額外的資料庫查詢。) |
名稱 | 類型 | 何時? |
---|---|---|
UsageError | 如果傳入的內容無效,則會拋出此錯誤。 | |
AdapterError | 如果資料庫适配器中發生錯誤,則會拋出此錯誤。請參閱概念 > 模型與 ORM > 錯誤,以取得如何處理唯一性錯誤的範例(例如,嘗試建立一筆記錄,但其重複值會違反唯一性約束)。 | |
Error | 如果發生任何其他非預期的情況,則會拋出此錯誤。 |
請參閱概念 > 模型與 ORM > 錯誤,以取得在 Sails 和 Waterline 中處理錯誤的範例。
鍵 | 類型 | 詳細資訊 |
---|---|---|
fetch | 如果設定為 true ,則已建立的記錄將會被回傳。預設為 false 。 |
有關 meta 鍵的更多資訊,請參閱.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 回呼一起使用。