Pouchdb-update-batch
PouchDB-バッチの更新
- bulkDocs()メソッドを使用して、PouchDBのドキュメントの配列を一度に更新できます。 そのためには、ドキュメントの配列を作成する必要があります。各ドキュメントには、 *_ id、_rev 、および更新される値が含まれます。
PouchDBにローカルに保存されている my_database という名前のデータベースに、次の内容のdoc1、doc2、doc3という3つのドキュメントが含まれているとします。
3つのドキュメントすべての年齢の値を2年増やす必要があるとします。 これを実現するには、最初に _rev 値を取得する必要があります。 したがって、次のコードを使用してこれらのドキュメントのコンテンツをフェッチします。
上記のコードを bulk_fetch.js として保存します。 実行時に、上記のプログラムは、以下に示すように、データベース内のドキュメントの_idおよび_rev値を提供します。
これで、以下に示すように、それぞれの _id および _rev 値を使用してドキュメントを更新できます。
上記のコードを Update_All_Document.js という名前のファイルに保存します。 コマンドプロンプトを開き、以下に示すようにノードを使用してJavaScriptファイルを実行します。
これにより、ローカルに保存されている my_database という名前のデータベースに存在するすべてのドキュメントが更新され、次のメッセージが表示されます。
さて、コールバックの前に、* allDocs()関数のパラメーターとして *\ {include_docs:true} を追加して bulk_fetch.js プログラムを実行すると、更新されたドキュメントの値を確認できます。以下に示すように。
リモートデータベースからのバッチの更新
サーバー(CouchDB)にリモートで保存されているデータベースからすべてのドキュメントを更新できます。
そのためには、データベース名の代わりに、CouchDBのデータベースにパスを渡す必要があります。これには、読み取るドキュメントが含まれています。
例
CouchDBサーバーに my_database という名前のデータベースがあるとします。 次に、URL http://127.0.0.1:5984/_utils/indexl を使用してCouchDB内のデータベースのリストを確認すると、次のスクリーンショットが表示されます。
そして、 my_database という名前のデータベースを選択すると、次のスクリーンショットに示すように、3つのドキュメントが含まれていることがわかります。
次に、次のコードを使用してこれらのドキュメントのコンテンツを取得します。
上記のコードを remote_bulk_fetch.js として保存します。 上記のプログラムを実行すると、以下に示すように、データベース内のすべてのドキュメントの内容が表示されます。
以下は、CouchDBサーバーに保存されている my_database という名前のデータベースに存在するすべてのドキュメントを更新する例です。
上記のコードを Remote_Update_Document.js という名前のファイルに保存します。 コマンドプロンプトを開き、以下に示すようにノードを使用してJavaScriptファイルを実行します。
これにより、CouchDBに保存されている my_database という名前のデータベースに存在するすべてのドキュメントのコンテンツが更新され、次のメッセージが表示されます。
これで、 remote_bulk_fetch.js プログラムを実行すると、以下に示すように、更新されたドキュメントの値が表示されます。