PouchDB - Menambahkan Lampiran

Anda dapat melampirkan objek biner ke dokumen menggunakan putAttachment() metode di PouchDB.

Sintaksis

Berikut ini adalah sintaks dari file putAttachment(). Untuk metode ini, kita harus meneruskan id dokumen, id lampiran, tipe MIME bersama dengan lampirannya. Metode ini juga menerima fungsi panggilan balik opsional.

db.putAttachment( docId, attachmentId, attachment, type, [callback] );

Kita bisa menyiapkan attachment menggunakan objek blob atau buffer, dimana blob digunakan saat bekerja dengan browser dan buffer digunakan saat bekerja dengan Node.js, karena kami mendemonstrasikan program kami di Node.js, kami menggunakan objek buffer untuk menyiapkan dokumen.

Contoh

Berikut ini adalah contoh membuat dokumen dengan lampiran, dalam database bernama my_database di PouchDB menggunakan putAttachment() metode.

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

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

//Preparing the attachment 
var my_attachment = new Buffer(['Welcome to tutorialspoint'], {type: 'text/plain'});

//Adding attachment to a document 
db.putAttachment('001', 'att_1.txt', my_attachment, 'text/plain', function(err, res) { 
   if (err) { 
      return console.log(err); 
   } else { 
      console.log(res+"Attachment added successfully") 
   } 
});

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

C:\PouchDB_Examples >node Add_Attachment.js

Ini membuat dokumen kosong menambahkan lampiran ke dalamnya, dalam database bernama my_database yang disimpan di PouchDB, dan menampilkan pesan berikut.

Attachment added successfully

Anda dapat memverifikasi apakah lampiran ditambahkan dengan membaca dokumen menggunakan kode berikut.

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

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

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

Simpan kode di atas sebagai read_doc.jsdan jalankan. Menjalankan program ini, Anda dapat melihat konten dokumen berikut.

{ 
   _attachments: { 
      att_1.txt: { 
         content_type: 'text/plain',
         digest: 'md5-k7iFrf4NoInN9jSQT9WfcQ==',
         data: 'AA==' 
      } 
   },
   _id: '001',
   _rev: '1-620fd5f41d3328fcbf9ce7504338a51d' 
}

Menambahkan Lampiran ke Dokumen yang Ada

Misalkan, ada sebuah dokumen di database dengan nama my_database PouchDB dengan id '002'. Anda bisa mendapatkan isinya dengan menjalankanread_doc.js dengan mengubah nilai id menjadi 002, seperti yang ditunjukkan di bawah ini.

{ 
   name: 'Raju',
   age: 23,
   designation: 'Designer',
   _id: '002',
   _rev: '1-05ca7b5f3f4762a9fb2d119cd34c8d40' 
}

Sekarang, Anda dapat menambahkan lampiran ke dokumen ini menggunakan _rev nilai.

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

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

//Adding attachment to existing document 
var my_attachment = new Buffer (['Welcome to tutorialspoint'], {type: 'text/plain'});

rev = '1-05ca7b5f3f4762a9fb2d119cd34c8d40'; 
db.putAttachment('002', 'att_1.txt', rev, my_attachment, 'text/plain', function(err, res) { 
   if (err) { 
      return console.log(err); 
   } else { 
      console.log (res + "Attachment added successfully") 
   } 
});

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

C:\PouchDB_Examples >node Add_Attachment_to_doc.js

Ini menambahkan lampiran ke dokumen tertentu yang menampilkan pesan berikut.

Attachment added successfully

Jika Anda mengubah nilai id di read_doc.js untuk 002 dan jalankan, Anda akan mendapatkan output berikut.

{ 
   name: 'Raju',
   age: 23,
   designation: 'Designer',
   _attachments: { 
      att_1: { 
         content_type: 'text/plain',
         digest: 'md5-k7iFrf4NoInN9jSQT9WfcQ==',
         data: 'AA==' 
      } 
   },
   _id: '002',
   _rev: '2-3bb4891b954699bce28346723cc7a709' 
}

Menambahkan Lampiran ke Dokumen Jarak Jauh

Anda bahkan dapat menambahkan lampiran ke 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 screenshot berikut.

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

Berikut adalah contoh menambahkan lampiran ke dokumen 001 disimpan dalam 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');

//Adding attachment to existing document
var my_attachment = new Buffer (['Welcome to tutorialspoint'], {type: 'text/plain'});

rev = '1-36c34fdcf29a652876219065f9681602';
db.putAttachment('001', 'att_1.txt',rev, my_attachment, 'text/plain', function(err, res) {
   if (err) {
      return console.log(err);
   } else {
      console.log (res+ "Attachment added successfully")
   }
});

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

C:\PouchDB_Examples >node Remote_Add_Attachment.js

Ini menambahkan lampiran ke dokumen tertentu yang menampilkan pesan berikut.

Attachment added successfully

Sekarang, jika Anda memverifikasi dokumen, Anda dapat mengamati lampiran yang ditambahkan ke dalamnya seperti yang ditunjukkan pada tangkapan layar berikut.