PouchDB - Hapus Batch

Anda dapat menghapus berbagai dokumen di PouchDB sekaligus menggunakan bulkDocs()metode. Untuk melakukannya, Anda perlu membuat larik dokumen yang akan dihapus di mana, setiap dokumen harus berisi_id dan _rev. Selain ini, Anda harus menambahkan pasangan nilai kunci lainnya_deleted: true.

Misalkan database bernama my_database yang disimpan secara lokal di PouchDB berisi 3 dokumen yaitu doc1, doc2, doc3 dengan isi sebagai berikut.

doc1 = {_id: '001', name: 'Ram', age: 23, Designation: 'Programmer'}
doc2 = {_id: '002', name: 'Robert', age: 24, Designation: 'Programmer'}
doc3 = {_id: '003', name: 'Rahim', age: 25, Designation: 'Programmer'}

Dan katakanlah, kita harus menghapus ketiga dokumen tersebut. Kemudian, pertama-tama Anda harus mendapatkan file_revnilai-nilai. Oleh karena itu, ambil konten dokumen ini menggunakan kode berikut.

//Requiring the package
var PouchDB = require('PouchDB');

//Creating the database object
var db = new PouchDB('my_database');

//Retrieving all the documents in PouchDB
db.allDocs({include_docs: true},function(err, docs) {
   if (err) {
      return console.log(err);
   } else {
      console.log(docs.rows);
   }
});

Simpan kode di atas sebagai bulk_fetch.js. Menjalankan program di atas memberi Anda nilai _id dan _rev dari dokumen dalam database seperti yang ditunjukkan di bawah ini.

[ 
   { 
      id: '001',
      key: '001',
      value: { rev: '1-1604b0c3ff69dc1e261265fd60808404' } 
   },
   { 
      id: '002',
      key: '002',
      value: { rev: '1-b5e49db7e984841bf12a13e3ee548125' } 
   },
   { 
      id: '003',
      key: '003',
      value: { rev: '1-a7b342786ecc707aa91f3b321a177b51' } 
   } 
]

Sekarang, Anda dapat menghapus dokumen menggunakan masing-masing _id dan _rev nilai seperti yang ditunjukkan di bawah ini.

//Requiring the package
var PouchDB = require('PouchDB');

//Creating the database object
var db = new PouchDB('my_database');

//Preparing the document
docs = [{_id : '001', _rev: '2-77f3a9974dd578d12f3f2a33aae64c8d', _deleted : true },
      {_id : '002', _rev: '2-43966007568ce9567c96422195fcfa0d', _deleted : true }, 
      {_id : '003', _rev: '2-6c5349652527f4f39583ff14f23cd677',_deleted : true }]

//Deleting Documents
db.bulkDocs(docs, function(err, response) {
   if (err) {
      return console.log(err);
   } else {
      console.log(response+"Documents deleted Successfully");
   }
});

Simpan kode di atas dalam file dengan nama Delete_All_Document.js. Buka command prompt dan jalankan file JavaScript menggunakan node seperti yang ditunjukkan di bawah ini.

C:\PouchDB_Examples >node Delete_All_Document.js

Ini menghapus semua dokumen yang ada di database bernama my_database yang disimpan secara lokal, menampilkan pesan berikut.

Documents Deleted Successfully

Sekarang, jika Anda menjalankan file bulk_fetch.js Program, Anda dapat mengamati tanda kurung kosong di konsol yang menunjukkan bahwa database kosong, seperti yang ditunjukkan di bawah ini.

[]

Menghapus Batch dari Remote Database

Anda dapat memperbarui semua dokumen dari database yang disimpan dari jarak jauh di server (CouchDB).

Untuk melakukannya, alih-alih nama database, Anda harus meneruskan jalur ke database di CouchDB, yang berisi dokumen yang akan dibaca.

Contoh

Misalkan ada database bernama my_databasedi server CouchDB. Kemudian, jika Anda memverifikasi daftar database di CouchDB menggunakan URLhttp://127.0.0.1:5984/_utils/index.html Anda akan mendapatkan screenshot berikut.

Jika kita memilih database bernama my_database, Anda dapat mengamati bahwa itu berisi 3 dokumen seperti yang ditunjukkan pada gambar layar berikut.

Berikut contoh penghapusan semua dokumen yang ada di database bernama my_database yang disimpan di server CouchDB.

//Requiring the package
var PouchDB = require('PouchDB');

//Creating the database object
var db = new PouchDB('http://localhost:5984/my_database');

//Preparing the document
docs = [{_id : '001', _rev: '4-6bc8d9c7a60fed2ed1667ec0740c1f39', _deleted : true },
      {_id : '002', _rev: '2-1aa24ce77d96bb9d2a0675cdf1e113e0', _deleted : true },
      {_id : '003', _rev: '2-fa113149ba618eda77f73072974a2bc1',_deleted : true }]

//Deleting Documents
db.bulkDocs(docs, function(err, response) {
   if (err) {
      return console.log(err);
   } else {
      console.log("Documents deleted Successfully");
   }
});

Simpan kode di atas dalam file dengan nama Remote_delete_AllDocuments.js. Buka command prompt dan jalankan file JavaScript menggunakan node seperti yang ditunjukkan di bawah ini.

C:\PouchDB_Examples >node Remote_Delete_AllDocuments.js

Ini menghapus isi dari semua dokumen yang diberikan yang ada di database bernama my_database yang disimpan di CouchDB, dan menampilkan pesan berikut.

Documents Deleted Successfully