Pouchdb-synchronization
PouchDB-同期
PouchDBにローカルに保存されているデータベースを、CouchDBに保存されているデータベースと同期できます。 前の章で、PouchDBを使用してデータベースを複製する方法を見てきました。 そこで、メソッド* PouchDB.replicate(source、destination)*を使用しました。
これに加えて、以下に示すように* replicate.to()および replicate.from()*メソッドを使用して、ローカルデータベースからリモートデータベースに、およびリモートデータベースからローカルデータベースにデータを複製することもできます。 。
ここで、 localDB はPouchDBにローカルに保存されているデータベースのオブジェクトであり、 remoteDB はCouchDBに保存されているデータベースのオブジェクトです。
例
PouchDBに local_database という名前のデータベースがあり、次のような内容を持つ3つのドキュメント、doc1、doc2、doc3が含まれているとします。
また、CouchDBには Remote_Database という名前のデータベースがあり、次のような内容を持つ2つのドキュメントdoc1、doc2が含まれています。
次に、これら2つのデータベースを同期する例を示します。1つはPouchDBに、もう1つは* replicate.to()および replicate.from()*メソッドを使用してCouchDBに格納されます。
上記のコードを Synchronising_databases.js という名前のファイルに保存します。 以下に示すように、コマンドプロンプトを開き、 node を使用してJavaScriptファイルを実行します。
これにより、2つのデータベースremoteDBとlocalDBが同期され、以下に示すようにコンソールにメッセージが表示されます。
2つのデータベースを同期した後、 http://127.0.0.1:5984/_utils/indexl にアクセスして remote_database を選択します。 以下に示すように、ローカルデータベース(003、004、005)のドキュメントがこのデータベースにコピーされたことを確認できます。
同様に、PouchDBに保存されている local_database の内容を取得すると、CouchDBに保存されているデータベースのドキュメントがここにコピーされたことを確認できます。
以下に示すように、2つのメソッド* replicate.to()および replicate.from()の代わりに、PouchDBが提供する sync()*メソッドを使用して、上記のプログラムを書き換えることができます。
上記のプログラムを実行すると、次のメッセージを表示する2つのデータベースを同期します。