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