このドキュメントのセクションでは、Waterline が標準で提供するモデルメソッドについて説明します。これらに加えて、フック(リソースフルな PubSub メソッドなど)から追加のメソッドが提供される場合や、再利用可能なカスタムコードをラップするためにアプリケーションに手動で記述される場合があります。
- Sails/Waterline のモデルに関する詳細な紹介については、概念 > モデルと ORM > モデル を参照してください。
- モデルの定義方法の例はこちらにあります。
一般的に、モデルメソッドは非同期です。つまり、メソッドを呼び出して戻り値を使用することはできません。代わりに、コールバック、Promise、または async/await を使用する必要があります。ほとんどの組み込みモデルメソッドは、オプションの最終引数としてコールバックを受け付けます。コールバックが提供されない場合、.fetch()
、.decrypt()
、.where()
などのメソッドを持つ、チェーン可能なクエリオブジェクトが返されます。詳細については、クエリの操作を参照してください。
以下は、Sails で Node.js アプリケーションを構築する際に遭遇する最も一般的なモデルメソッドの一部です。
メソッド | 概要 |
---|---|
.find() |
指定された条件に一致するレコードの配列を取得します。 |
.findOne() |
指定された条件に一致するレコードを取得します。一致するレコードがない場合はundefined を返します。 |
.updateOne() |
指定された条件に一致するレコードが1つ存在する場合、指定されたattrName:value のペアを使用してレコードを更新します。 |
.archiveOne() |
指定された条件に一致するレコードが1つ存在する場合、そのレコードをアーカイブします(「ソフト削除」)。 |
.destroyOne() |
指定された条件に一致するレコードが1つ存在する場合、そのレコードを完全にそして取り消し不能に削除します。 |
.create() |
指定された値で構成される新しいレコードを作成します。 |
.createEach() |
同時に複数の新しいレコードを作成します。 |
.count() |
特定の条件に一致するレコードの総数をカウントします。 |
.sum() |
特定の条件に一致するすべてのレコードにわたって合計された、特定の属性の合計を計算します。 |
.avg() |
特定の条件に一致するすべてのレコードにわたって平均された、属性の算術平均を計算します。 |
.addToCollection() |
関連付けられたモデルから既存のレコードをコレクションの1つに追加します。 |
.removeFromCollection() |
コレクションの1つからレコードを削除します。 |
これらのメソッドはほんの始まりです。Sails で使用可能なモデルメソッドの詳細については、サイドバーの完全なリファレンスを参照してください。
sails.models
Sails でグローバル変数を無効にする必要がある場合でも、sails.models.<model_identity>
を使用してモデルにアクセスできます。
モデルの
identity
がわからない場合 は、概念 > モデルと ORM > モデル設定を参照してください。