PouchDB - Menghapus Attachment

Anda dapat menghapus lampiran dari PouchDB menggunakan removeAttachment() metode.

Sintaksis

Berikut ini adalah sintaks removeAttachment()metode. Untuk metode ini, kita harus meneruskan id dokumen, id lampiran, dan nilai _rev. Metode ini juga menerima fungsi panggilan balik opsional.

db.removeAttachment ( docId, attachmentId, rev, [callback] );

Contoh

Misalkan ada dokumen di PouchDB dengan id 001, yang berisi id, nama, umur, penunjukan seorang karyawan beserta lampirannya seperti gambar di bawah ini.

{ 
   name: 'Raju',
   age: 23,
   designation: 'Designer',
   _attachments: { 
      'att_1.txt': { 
         content_type: 'text/plain',
         digest: 'md5-k7iFrf4NoInN9jSQT9WfcQ==',
         data: 'AA==' 
      } 
   },
   _id: '001',
   _rev: '2-cdec6c9f45ddbee7d456945654742d43' 
}

Berikut adalah contoh penghapusan lampiran dokumen ini 001 disimpan di PouchDB, menggunakan removeAttachment() metode.

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

//Creating the database object
var db = new PouchDB('my');
db.removeAttachment('001', 'att_1.txt', '2-cdec6c9f45ddbee7d456945654742d43', 
   function(err, res) {
   if (err) {
      return console.log(err);
   } else {
      console.log(res+"Attachment Deleted successfully")
   }
});

Simpan kode di atas dalam file dengan nama Remove_Attachment.js. Buka command prompt dan jalankan file JavaScript menggunakannode seperti gambar dibawah.

C:\PouchDB_Examples >node Remove_Attachment.js

Ini menghapus lampiran dokumen dan menampilkan pesan di konsol seperti yang ditunjukkan di bawah ini.

Attachment deleted successfully

Setelah penghapusan, Anda dapat memverifikasi konten dokumen dengan menjalankan kode berikut.

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

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

//Reading the Document
db.get('001',{attachments: true}, function(err, doc) {
   if (err) {
      return console.log(err);
   } else {
      console.log(doc);
   }
});

Simpan kode ini sebagai read.jsdan jalankan. Saat mengeksekusi, Anda akan mendapatkan isi dokumen setelah menghapus lampiran, seperti yang ditunjukkan di bawah ini.

{ 
   name: 'Raju',
   age: 23,
   designation: 'Designer',
   _id: '001',
   _rev: '3-da775487a6ed0495f2e49c543384f8e8' 
}

Menghapus Lampiran dari Dokumen Jarak Jauh

Anda dapat menghapus lampiran dari dokumen yang ada di 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 tangkapan layar berikut.

Dan jika Anda memilih database bernama my_database, Anda dapat melihat isinya seperti gambar di bawah ini.

Misalkan ada lampiran dalam dokumen ini seperti gambar di bawah ini.

Berikut adalah contoh penghapusan lampiran dokumen yang disebutkan di atas 001 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');

db.removeAttachment('001', 'att_1.txt', '2-049f1c4ffa54576ec0947b65e34de423', 
   function(err, res) { 
   if (err) { 
      return console.log(err); 
   } else { 
      console.log(res+"Attachment Deleted successfully") 
   } 
});

Simpan kode di atas dalam file dengan nama Remote_Delete_Attachment.js. Buka command prompt dan jalankan file JavaScript menggunakannode seperti gambar dibawah.

C:\PouchDB_Examples >node Remote_Delete_Attachment.js

Ini menghapus lampiran yang ada dan menampilkan pesan berikut.

Attachment Deleted successfully

Jika Anda mengunjungi dokumen itu lagi, Anda dapat melihat bahwa lampiran telah dihapus seperti yang ditunjukkan pada tangkapan layar berikut.