データストアは、アプリケーションのために設定されたデータソースを表します。データストアは通常、特定のデータベースを表します。ローカルにインストールされたMySQLサーバー内で実行されているデータベース、会社のデータセンターで実行されているリモートPostgreSQLデータベース、またはクラウドプロバイダーがホストするリモートMongoDBデータベースなどです。
データストアは、sails.config.datastores
で設定します。
Sailsアプリケーションは、すべてのモデルでデフォルトで使用される暗黙的なデータストアから開始します。多くのアプリケーションではこれで十分ですが、複数のデータベースを操作する必要があるアプリケーションを構築している場合は、legacyProductDb
のような追加の名前付きデータストアを設定すると役立つ場合があります。
Sailsアプリケーションのすべてのモデルは特定のデータストアに接続されているため、組み込みのモデルメソッドを呼び出すたびに、モデルは暗黙的に設定されたデータストアと通信します。
それにもかかわらず、特定のモデルのコンテキストの外でデータストアと通信することが役立つ場合があります。そのため、アプリケーションが起動すると、Sailsは設定された各データストアに対して、登録されたデータストアインスタンスと呼ばれるオブジェクトを自動的にインスタンス化します。これらのインスタンスにランタイムでアクセスするには、sails.getDatastore()
または.getDatastore()
モデルメソッドを呼び出します。
登録されたデータストアは、基になるデータベースと直接やり取りするための簡単な方法を提供する.leaseConnection()
や.manager
など、独自のメソッドとプロパティを公開します。(このセクションのドキュメントの残りのページでは、これらのデータストアのメソッドとプロパティを詳細に説明しています。)