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.