這份文件的章節著重於 Waterline 提供的模型方法(開箱即用)。除了這些方法之外,額外的方法可以來自 hooks(例如 resourceful PubSub 方法),或者在您的應用程式中手動編寫以封裝可重複使用的自訂程式碼。
- 若要深入了解 Sails/Waterline 中的模型,請參閱概念 > 模型與 ORM > 模型。
- 您可以在這裡找到如何定義模型的範例。
一般來說,模型方法是非同步的,這表示您不能直接呼叫它們並使用傳回值。相反地,您必須使用回呼、Promises 或 async/await。大多數內建模型方法都接受回呼作為選用的最終引數。如果未提供回呼,則會傳回可鏈結的 Query 物件,其中具有例如 .fetch()
、.decrypt()
和 .where()
等方法。請參閱使用查詢以取得更多資訊。
以下是一些您在使用 Sails 建立 Node.js 應用程式時最常遇到的模型方法
方法 | 摘要 |
---|---|
.find() |
取得符合指定條件的記錄陣列。 |
.findOne() |
取得符合指定條件的記錄,如果沒有符合的記錄則傳回 undefined 。 |
.updateOne() |
更新符合指定條件的記錄(如果有的話),使用指定的 attrName:value 配對。 |
.archiveOne() |
封存(「軟刪除」)符合指定條件的記錄(如果有的話)。 |
.destroyOne() |
永久且不可逆地銷毀符合指定條件的記錄(如果有的話)。 |
.create() |
建立包含指定值的新記錄。 |
.createEach() |
同時建立多個新記錄。 |
.count() |
計算符合特定條件的記錄總數。 |
.sum() |
計算給定屬性的總和,總計所有符合特定條件的記錄。 |
.avg() |
計算屬性的算術平均值,平均計算所有符合特定條件的記錄。 |
.addToCollection() |
將關聯模型中的現有記錄新增至您的其中一個集合。 |
.removeFromCollection() |
從您的其中一個集合中移除記錄。 |
這些方法只是開始。若要閱讀更多關於 Sails 中可用的模型方法,請查看側邊欄中的完整參考。
sails.models
如果您需要在 Sails 中停用全域變數,您仍然可以使用 sails.models.<model_identity>
來存取您的模型。
不確定您模型的
identity
嗎?請查看概念 > 模型與 ORM > 模型設定。