PouchDB - Panduan Cepat

Bab ini memberikan pengantar singkat tentang PouchDB beserta fitur-fiturnya dan cara kerjanya.

Apa itu PouchDB?

PouchDB adalah open source in-browser database APIditulis dalam JavaScript. Ini dimodelkan setelah Couch DB & minuss; database NoSQL. Menggunakan API ini, kita dapat membangun aplikasi yang bekerja secara offline dan online. Ini secara internal menggunakan WebSQL dan IndexedDB untuk menyimpan data.

Bagaimana cara kerjanya?

Di PouchDB, saat aplikasi offline, data disimpan secara lokal menggunakan WebSQL dan IndexedDB di browser. Ketika aplikasi kembali online, itu disinkronkan dengan CouchDB dan server yang kompatibel.

Menggunakan PouchDB, Anda dapat berkomunikasi dengan database lokal dan jarak jauh secara mulus tanpa melihat perbedaan apa pun.

Fitur PouchDB

Berikut adalah fitur-fitur PouchDB -

  • Cross Browser - API yang disediakan oleh PouchDB berfungsi sama di setiap lingkungan, oleh karena itu kita dapat menjalankan aplikasi PouchDB di berbagai browser.

  • Light Weight - PouchDB adalah API yang sangat ringan, ini juga disertakan dengan mudah hanya dengan menggunakan tag skrip.

  • Easy to Learn - Jika Anda memiliki pengetahuan sebelumnya tentang bahasa pemrograman apa pun, sangat mudah untuk mempelajari PouchDB.

  • Open Source - PouchDB adalah Aplikasi Open Source dan tersedia di GitHub.

Keuntungan PouchDB

Berikut adalah keuntungan dari PouchDB -

  • Karena PouchDB berada di dalam browser, tidak perlu melakukan kueri melalui jaringan, ini menghasilkan eksekusi kueri yang lebih cepat.

  • Anda dapat menyinkronkan data dengan salah satu server yang didukung dan dengan demikian Anda dapat menjalankan aplikasi baik online maupun offline.

Browser yang Mendukung PouchDB

Berikut adalah browser yang mendukung PouchDB -

  • Firefox 29+ (Termasuk Firefox OS dan Firefox untuk Android)
  • Chrome 30+
  • Safari 5+
  • Internet Explorer 10+
  • Opera 21+
  • Android 4.0+
  • iOS 7.1+
  • Windows Phone 8+

Bab ini menjelaskan cara mengunduh dan menginstal PouchDB di sistem Anda.

Menginstal PouchDB

Untuk bekerja dengan PouchDB, Anda perlu mengunduh file .jsmengajukan dan memasukkannya ke dalam skrip Anda. Berikut adalah langkah-langkah untuk menginstal PouchDB.

Langkah 1

Kunjungi beranda situs web PouchDB, dengan mengklik tautan berikut -

https://PouchDB.com/

Langkah 2

Klik tombol Unduh di sisi kanan atas halaman web seperti yang ditunjukkan pada gambar di atas. Ini akan mengunduhPouchDB-5.3.0.min.js di sistem Anda.

LANGKAH 3

Salin dan tempel PouchDB-5.3.0.min.js ke direktori kerja Anda dan memasukkannya ke dalam JavaScript Anda seperti yang ditunjukkan pada perintah berikut.

<script src = "PouchDB-5.3.0.min.js"></script>

Memasang Pouch Menggunakan Node.js

Anda juga dapat menginstal PouchDB sebagai modul Node.js. Berikut adalah langkah-langkah untuk menginstal PouchDB menggunakan Node.js.

Langkah 1

Instal Node.js dengan mengikuti langkah-langkah yang diberikan di bagian Menginstal Node.js dari tutorial skrip kopi kami .

Langkah 2

Buka command prompt dan jalankan perintah berikut. Ini akan menginstal modul node PouchDB di sistem Anda.

npm install --save PouchDB

Mendownload CouchDB

Saat offline, PouchDB menyimpan data secara lokal dan berfungsi seperti aplikasi. Anda dapat mengaksesnya secara online dengan menghubungkan ke server yang kompatibel. Seperti yang kita ketahui PouchDB dapat dihubungkan ke CouchDB, jadi, mari instal CouchDB juga. Berikut adalah langkah-langkah untuk menginstal CouchDB.

Langkah 1

Situs web resmi untuk CouchDB adalah http://couchdb.apache.org. Jika Anda mengklik tautan yang diberikan, Anda bisa mendapatkan halaman beranda situs web resmi CouchDB seperti yang ditunjukkan pada tangkapan layar berikut.

Langkah 2

Jika Anda mengklik tombol unduh, Anda akan diarahkan ke halaman yang menyediakan tautan unduhan CouchDB dalam berbagai format. Cuplikan berikut menggambarkan hal yang sama.

LANGKAH 3

Pilih tautan unduhan untuk Sistem Windows dan pilih salah satu cermin yang disediakan untuk mulai mengunduh.

Menginstal CouchDB

Sebuah jendela yang dapat dieksekusi setup-couchdb-1.6.1_R16B02.exefile akan diunduh di sistem Anda. Jalankan file setup dan lanjutkan dengan instalasi.

Setelah berhasil menginstal CouchDB di sistem Anda, buka folder tempat CouchDB diinstal, masuk ke folder bin, dan mulai server dengan menjalankan file skrip bernama couchdb.bat.

Setelah instalasi, buka antarmuka web bawaan CouchDB dengan mengunjungi tautan berikut - http://127.0.0.1:5984/. Jika semuanya berjalan dengan baik, ini akan memberi Anda halaman web, yang akan memiliki keluaran sebagai berikut.

{                 
   "couchdb":"Welcome","uuid":"c8d48ac61bb497f4692b346e0f400d60",
   "version":"1. 6.1",
   "vendor": {
      "version":"1.6.1","name":"The Apache Software Foundation"
   } 
}

Anda dapat berinteraksi dengan antarmuka web CouchDB dengan menggunakan URL berikut -

http://127.0.0.1:5984/_utils/

Ini menunjukkan kepada Anda halaman indeks Futon, yang merupakan antarmuka web CouchDB.

Anda dapat membuat database di PouchDB menggunakan konstruktor PouchDB.

Sintaksis

Berikut ini adalah sintaks menggunakan konstruktor PouchDB. Untuk ini, Anda perlu meneruskan nama database sebagai parameter.

new PouchDB(Database_name)

Contoh

Untuk membuat database di PouchDB menggunakan node, pertama-tama, Anda harus memerlukan paket PouchDB menggunakan require() metode dan kemudian Anda dapat membuat database seperti yang ditunjukkan pada contoh berikut.

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

//Creating the database object
var db = new PouchDB('my_database');
console.log ("Database created Successfully.");

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

C:\PouchDB_Examples>node Create_Database.js

Ini akan membuat database secara lokal (Anda dapat melihat folder di direktori saat ini) menampilkan pesan berikut.

Database created Successfully.

Anda bisa mendapatkan informasi dasar tentang database menggunakan metode bernama info()

Sintaksis

Berikut ini adalah sintaks menggunakan file info()metode PouchDB. Metode ini menerima fungsi panggilan balik.

db.info([callback])

Contoh

Berikut ini adalah contoh pengambilan informasi database menggunakan info()metode. Di sini, kami menampilkan informasi dari database bernamamy_database. Jika terjadi kesalahan, kesalahan tersebut akan ditampilkan di konsol.

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

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

//Database information
db.info(function(err, info) {
   if (err) {
      return console.log(err);
   } else {
      console.log(info);
   }
});

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

C:\PouchDB_Examples>node Database_info.js

Ini akan menampilkan info dari database yang ditentukan sebagai berikut.

{ 
   doc_count: 0,
   update_seq: 0,
   backend_adapter: 'LevelDOWN',
   db_name: 'my_database',
   auto_compaction: false,
   adapter: 'leveldb' 
}

Info Database Jarak Jauh

Dengan cara yang sama, Anda mendapatkan informasi dari database yang disimpan dari jarak jauh di server (CouchDB). Untuk melakukannya, alih-alih nama database, Anda harus meneruskan jalur ke database yang diperlukan di CouchDB.

Contoh

Berikut adalah contoh pengambilan informasi dari database yang disimpan di server CouchDB. Kode ini memberi Anda informasi dari database bernamamy_database.

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

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

//Database information
db.info(function(err, info) {
   if (err) {
      return console.log(err);
   } else {
      console.log(info);
   }
});

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

C:\PouchDB_Examples>node Database_Remote_info.js

Ini akan menampilkan info dari database yang ditentukan sebagai berikut.

{ 
   db_name: 'my_database', 
   doc_count: 0, 
   doc_del_count: 0, 
   update_seq: 0, 
   purge_seq: 0, 
   compact_running: false, 
   disk_size: 79, 
   data_size: 0, 
   instance_start_time: '1458209191708486', 
   disk_format_version: 6, 
   committed_update_seq: 0, 
   host: 'http://localhost:5984/my_database/', 
   auto_compaction: false, 
   adapter: 'http' 
}

Anda dapat menghapus database di PouchDB menggunakan db.destroy() metode.

Sintaksis

Berikut ini adalah sintaks menggunakan file db.destroy()metode. Metode ini menerima fungsi panggilan balik sebagai parameter.

db.destroy()

Contoh

Berikut ini adalah contoh menghapus database di PouchDB menggunakan destroy()metode. Di sini, kami menghapus database bernamamy_database, dibuat di bab sebelumnya.

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

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

//deleting database
db.destroy(function (err, response) {
   if (err) {
      return console.log(err);
   } else {
      console.log ("Database Deleted”);
   }
});

Simpan kode di atas dalam file dengan nama Delete_Database.js. Buka command prompt dan jalankan file JavaScript menggunakan node seperti gambar dibawah.

C:\PouchDB_Examples >node Delete_Database.js

Ini akan menghapus database bernama my_database yang disimpan secara lokal menampilkan pesan berikut.

Database Deleted

Menghapus Database Jarak Jauh

Dengan cara yang sama, Anda dapat menghapus database yang disimpan dari jarak jauh di server (CouchDB).

Untuk melakukannya, alih-alih nama database, Anda harus meneruskan jalur ke database yang perlu dihapus, di CouchDB.

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.

Berikut ini adalah contoh menghapus 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');

//deleting database
db.destroy(function (err, response) {
   if (err) {
      return console.log(err);
   } else {
      console.log("Database Deleted");
   }
});

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

C:\PouchDB_Examples >Remote_Database_Delete.js

Ini menghapus database tertentu dari PouchDB yang menampilkan pesan berikut.

Database Deleted

Verifikasi

Setelah menjalankan program di atas, jika Anda mengunjungi URL lagi, Anda akan mendapatkan tangkapan layar berikut. Di sini Anda hanya dapat mengamati dua database sejakmy_database telah dihapus.

Anda dapat membuat dokumen di PouchDB menggunakan db.put() metode.

Sintaksis

Berikut adalah sintaks menggunakan metode db.put () PouchDB. Anda dapat menyimpan dokumen yang akan dibuat di PouchDB, dalam variabel dan meneruskan sebagai parameter ke metode ini. Selain itu, metode ini juga menerima fungsi callback (opsional) sebagai parameter.

db.put(document, callback)

Contoh

Berikut ini adalah contoh pembuatan dokumen di PouchDB menggunakan put()metode. Dokumen yang kita buat harus dalam format JSON, sekumpulan key-value pair yang dipisahkan dengan koma (,) dan diapit oleh kurung kurawal ({}).

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

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

//Preparing the document
doc = {
   _id : '001',
   name: 'Raju',
   age : 23,
   designation : 'Designer'
   }
//Inserting Document
db.put(doc, function(err, response) {
   if (err) {
      return console.log(err);
   } else {
      console.log("Document created Successfully");
   }
});

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

C:\PouchDB_Examples >node Create_Document.js

Ini membuat dokumen yang diberikan dalam database PouchDB bernama my_database, yang disimpan secara lokal, menampilkan pesan berikut.

Document created Successfully

Memasukkan Dokumen di Database Jarak Jauh

Anda juga dapat memasukkan dokumen ke dalam database yang disimpan dari jarak jauh di server (CouchDB).

Untuk melakukannya, alih-alih nama basis data Anda harus meneruskan jalur ke basis data tempat Anda ingin membuat dokumen di CouchDB.

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.

Sekarang, jika Anda mengklik database bernama my_database, Anda akan menemukan database kosong seperti yang ditunjukkan pada gambar layar berikut.

Berikut ini adalah contoh memasukkan dokumen 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');

//Preparing the document
doc = {
   _id : '001',
   name: 'Raju',
   age : 23,
   designation : 'Designer'
   }
//Inserting Document
db.put(doc, function(err, response) {
   if (err) {
      return console.log(err);
   } else {
      console.log("Document created Successfully");
   }
});

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

C:\PouchDB_Examples >node Remote_Create_Document.js

Ini membuat dokumen yang diberikan dalam database PouchDB bernama my_database yang disimpan di CouchDB, menampilkan pesan berikut.

Document created Successfully

Verifikasi

Setelah menjalankan program di atas, jika Anda mengunjungi my_database sekali lagi, Anda dapat mengamati dokumen yang dibuat seperti yang ditunjukkan pada gambar berikut.

Anda dapat membaca / mengambil konten dokumen di PouchDB menggunakan db.get() metode.

Sintaksis

Berikut ini adalah sintaks menggunakan file db.get()metode PouchDB. Metode ini menerimadocument id dan fungsi panggilan balik opsional.

db.get(document, callback)

Contoh

Berikut adalah contoh membaca isi dokumen di PouchDB menggunakan get() metode.

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

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

//Reading the contents of a Document
db.get('001', function(err, doc) {
   if (err) {
      return console.log(err);
   } else {
      console.log(doc);
   }
});

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

C:\PouchDB_Examples >node Read_Document.js

Ini membaca isi dari dokumen yang diberikan yang ada di database bernama my_databaseyang disimpan secara lokal. Pesan berikut akan ditampilkan di konsol.

{
   name: 'Raju',
   age: 23,
   designation: 'Designer',
   _id: '001',
   _rev: '1-ba7f6914ac80098e6f63d2bfb0391637'
}

Membaca Dokumen dari Database Jarak Jauh

Anda juga dapat membaca 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 tangkapan layar berikut.

Dengan mengklik database bernama my_databaseAnda bisa melihat screenshot berikut. Di sini, Anda dapat mengamati bahwa database ini berisi dokumen dengan id001.

Berikut adalah contoh membaca isi dokumen yang memiliki id sebagai “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');

//Reading the contents of a document
db.get('001', function(err, doc) {
   if (err) {
      return console.log(err);
   } else {
      console.log(doc);
   }
});

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

C:\PouchDB_Examples >node Remote_Read_Document.js

Ini membaca isi dari dokumen yang diberikan yang ada di database bernama my_databaseyang disimpan di CouchDB. Pesan berikut ini ditampilkan di konsol.

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

Setiap kali, kami membuat dokumen di PouchDB, bidang baru _rev dihasilkan, dan ini dikenal sebagai revision marker. Itu_revNilai adalah nomor acak unik, setiap kali kita membuat perubahan pada nilai dokumen _rev diubah.

Anda dapat memperbarui dokumen yang ada di PouchDB menggunakan (_rev). Untuk melakukannya, pertama-tama ambil file_revnilai dokumen yang ingin kami perbarui. Sekarang, tempatkan konten yang akan diperbarui bersama dengan yang diambil_rev nilai dalam dokumen baru, dan akhirnya masukkan dokumen ini ke dalam PouchDB menggunakan put() metode.

Contoh

Asumsikan kita memiliki dokumen di PouchDB dengan id 001yang memiliki detail tentang seseorang. Untuk memperbarui dokumen ini, kami harus memiliki nomor rev-nya. Oleh karena itu, untuk mengambil kembali isi dokumen digunakan kode berikut ini.

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

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

//Reading the contents of a Document
db.get('001', function(err, doc) {
   if (err) {
      return console.log(err);
   } else {
      console.log(doc);
   }
});

Saat menjalankan kode di atas, Anda akan menerima output berikut.

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

Sekarang, menggunakan _rev Anda dapat memperbarui nilai kunci "age”Ke 26, seperti yang ditunjukkan pada kode berikut.

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

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

//Preparing the document for update
doc = {
   age: 26,
   _rev: '3-552920d1ca372986fad7b996ce365f5d',
   }

//Inserting Document
db.put(doc);

//Reading the contents of a Document
db.get('001', function(err, doc) {
   if (err) {
      return console.log(err);
   } else {
      console.log(doc);
   }
});

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

C:\Pouch_Examples>node Update_Document.js

Ini memperbarui konten dari dokumen yang diberikan yang ada di database bernama my_databaseyang disimpan secara lokal. Pesan berikut ini ditampilkan di konsol.

{ 
   name: 'Raju',
   age: 26,
   designation: 'Designer',
   _id: '001',
   _rev: '2-61b523ccdc4e41a8435bdffbb057a7a5' 
}

Memperbarui Dokumen dalam Database Jarak Jauh

Anda juga dapat memperbarui dokumen yang ada dalam 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 diperbarui.

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.

Dengan mengklik database bernama my_database, Anda bisa melihat screenshot berikut. Di sini, Anda dapat mengamati bahwa database ini berisi dokumen dengan id001.

Berikut adalah contoh memperbarui usia dokumen yang memiliki id sebagai “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');

//Preparing the document for update
doc = {
   age: 26,
   _rev: '3-552920d1ca372986fad7b996ce365f5d',
   }

//Inserting Document
db.put(doc);

//Reading the contents of a Document
db.get('001', function(err, doc) {
   if (err) {
      return console.log(err);
   } else {
      console.log(doc);
   }
});

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

C:\PouchDB_Examples >node Remote_Update_Document.js

Ini memperbarui konten dari dokumen yang diberikan yang ada di database bernama my_databaseyang disimpan di CouchDB. Pesan berikut ini ditampilkan di konsol.

{
   _id: '001',
   _rev: '2-b9640bffbce582c94308905eed8bb545',
   name: 'Raju',
   age: 26,
   designation: 'Designer' 
}

Anda dapat menghapus dokumen dari database yang ada di PouchDB menggunakan db.remove() metode.

Sintaksis

Berikut ini adalah sintaks menggunakan file db.remove()metode PouchDB. Untuk metode ini, kita harus lulusid dan _revuntuk menghapus dokumen yang ada seperti yang ditunjukkan pada kode berikut. Metode ini menerima fungsi panggilan balik opsional. Kami juga dapat mengirimkan dokumen lengkap sebagai ganti id dan _rev.

db. get ( docId, docRev, [callback] )
or
db. get ( docId, docRev, [callback] )

Contoh

Asumsikan kita memiliki dokumen di PouchDB dengan id 001yang memiliki detail seseorang. Untuk menghapus dokumen ini bersama denganid kita juga harus memilikinya _revjumlah. Oleh karena itu, ambil kembali isi dokumen seperti yang ditunjukkan pada kode berikut.

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

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

//Reading the contents of a Document
db.get('001', function(err, doc) {
   if (err) {
      return console.log(err);
   } else {
      console.log(doc);
   }
});

Menjalankan kode di atas memberikan hasil sebagai berikut.

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

Sekarang, menggunakan _rev dan id dokumen Anda dapat menghapus ini dengan menggunakan remove() metode seperti yang ditunjukkan pada kode berikut.

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

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

//Deleting an existing document
db.remove('001', '3-552920d1ca372986fad7b996ce365f5d', function(err) {
   if (err) {
      return console.log(err);
   } else {
      console.log("Document deleted successfully");
   }
});

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

C:\PouchDB_Examples >node Delete_Document.js

Ini menghapus konten dari dokumen yang diberikan yang ada di database bernama my_databaseyang disimpan secara lokal. Pesan berikut ini ditampilkan.

Document deleted successfully

Menghapus Dokumen dari Remote Database

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

Dengan mengklik database bernama my_databaseAnda bisa melihat screenshot berikut. Di sini, Anda dapat mengamati bahwa database berisi dokumen dengan id001.

Berikut contoh penghapusan isi dokumen yang memiliki id “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');

//Deleting an existing document
db.remove('001', '3-552920d1ca372986fad7b996ce365f5d', function(err) {
   if (err) {
      return console.log(err);
   } else {
      console.log("Document deleted successfully");
   }
});

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

C:\PouchDB_Examples >node Remote_Delete_Document.js

Ini menghapus dokumen yang diberikan yang ada di database bernama my_databaseyang disimpan di CouchDB. Pesan berikut ini ditampilkan.

Document deleted successfully

Anda dapat membuat array (batch) dokumen di PouchDB menggunakan db.bulkDocs()metode. Saat membuat dokumen, menggunakan metode ini jika kami tidak memberikan nilai _id, atas nama kami PouchDB menghasilkan id unik untuk semua dokumen secara massal.

Sintaksis

Berikut ini adalah sintaks menggunakan file db.bulkDocs()metode PouchDB. Anda dapat menyimpan semua dokumen yang akan dibuat di PouchDB dalam array dan meneruskannya ke metode ini sebagai parameter. Selain itu, metode ini juga menerima fungsi callback (opsional) sebagai parameter.

db.bulkDocs(docs, [options], [callback])

Contoh

Berikut adalah contoh pembuatan banyak dokumen di PouchDB menggunakan db.bulkDocs ()metode. Dokumen yang kita buat harus dalam format JSON, sekumpulan key-value pair yang dipisahkan dengan koma (,) dan diapit oleh kurung kurawal ({}).

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

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

//Preparing the documents array
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'}
docs = [doc1, doc2, doc3]

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

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

C:\PouchDB_Examples >node Create_Batch.js

Ini membuat dokumen yang diberikan dalam database PouchDB bernama my_databaseyang disimpan secara lokal. Pesan berikut akan ditampilkan.

Documents created Successfully

Memasukkan Batch di Remote Database

Anda dapat memasukkan berbagai dokumen dalam database yang disimpan dari jarak jauh di server (CouchDB).

Untuk melakukannya, alih-alih nama database, Anda harus meneruskan jalur ke database tempat kami ingin membuat dokumen di CouchDB.

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.

Berikut ini adalah contoh memasukkan array dokumen 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');

//Preparing the documents array

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'}

docs = [doc1, doc2, doc3]

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

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

C:\PouchDB_Examples >node Remote_Create_Batch.js

Ini membuat dokumen yang diberikan dalam database PouchDB bernama my_databaseyang disimpan di CouchDB. Pesan berikut ini ditampilkan.

Document created Successfully

Verifikasi

Setelah menjalankan program di atas jika Anda mengunjungi my_database sekali lagi, Anda dapat mengamati dokumen yang dibuat seperti yang ditunjukkan pada gambar layar berikut.

Anda dapat membaca / mengambil beberapa / dokumen massal dari database di PouchDB menggunakan allDocs() metode.

Sintaksis

Berikut ini adalah sintaks menggunakan file db.allDocs()metode PouchDB. Metode ini menerima fungsi panggilan balik opsional.

db.allDocs()

Contoh

Berikut ini adalah contoh pengambilan semua dokumen dalam database bernama my_database yang disimpan secara lokal, menggunakan db.allDocs()metode. Metode ini mengambil larik dokumen dalam bentuk objek, untuk mendapatkan konten setiap dokumen yang perlu Anda panggil sebagaidocs.rows.

//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(function(err, docs) {
   if (err) {
      return console.log(err);
   } else {
      console.log (docs.rows);
   }
});

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

C:\PouchDB_Examples >node Read_All_Document.js

Ini membaca semua dokumen yang ada di database bernama my_databaseyang disimpan secara lokal. Pesan berikut ini ditampilkan di konsol.

[ 
   { 
      id: '001',
      key: '001',
      value: { rev: '1-9dc57f5faa7ea90eeec22eba8bfd05f5' } 
   },
   { 
      id: '002',
      key: '002',
      value: { rev: '1-9bf80afcedb9f8b5b35567292affb254' } 
    },
   { 
      id: '003',
      key: '003',
      value: { rev: '1-1204f108e41bf8baf867856d5da16c57' } 
   }
]

Secara umum, seperti yang ditunjukkan pada hasil di atas, menggunakan allDocs() metode Anda hanya dapat melihat _id, key dan _revbidang setiap dokumen. Namun, untuk memasukkan seluruh dokumen ke dalam hasil, Anda harus membuat parameter opsionalinclude_docs benar seperti yang ditunjukkan di bawah ini.

//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);
   }
});

Menjalankan kode di atas memberi Anda daftar dokumen lengkap dalam dokumen yang ditentukan seperti yang ditunjukkan pada kode berikut.

[ 
   { 
      id: '001',
      key: '001',
      value: { rev: '1-9dc57f5faa7ea90eeec22eba8bfd05f5' },
      doc: { 
         name: 'Ram',
         age: 23,
         Designation: 'Programmer',
         _id: '001',
         _rev: '1-9dc57f5faa7ea90eeec22eba8bfd05f5' 
      } 
   },
   { 
      id: '002',
      key: '002',
      value: { rev: '1-9bf80afcedb9f8b5b35567292affb254' },
      doc: { 
         name: 'Robert',
         age: 24,
         Designation: 'Programmer',
         _id: '002',
         _rev: '1-9bf80afcedb9f8b5b35567292affb254' 
      } 
   },
   { 
      id: '003',
      key: '003',
      value: { rev: '1-1204f108e41bf8baf867856d5da16c57' },
      doc: { 
         name: 'Rahim',
         age: 25,
         Designation: 'Programmer',
         _id: '003',
         _rev: '1-1204f108e41bf8baf867856d5da16c57' 
      } 
   }
]

Membaca Batch dari Remote Database

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

Untuk melakukannya sebagai pengganti 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.

Berikut ini adalah contoh pembacaan 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');

//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 dalam file dengan nama Remote_Read_AllDocument.js. Buka command prompt dan jalankan file JavaScript menggunakannode seperti gambar dibawah.

C:\PouchDB_Examples >node Remote_Read_AllDocument.js

Ini membaca isi dari dokumen yang diberikan yang ada di database bernama my_database yang disimpan di CouchDB, dan ditampilkan di konsol seperti yang ditunjukkan di bawah ini.

[ 
   { 
      id: '001',
      key: '001',
      value: { rev: '3-552920d1ca372986fad7b996ce365f5d' },
      doc: { 
         _id: '001',
         _rev: '3-552920d1ca372986fad7b996ce365f5d',
         name: 'Raju',
         age: 23,
         designation: 'Designer' 
      } 
   },
   { 
      id: '002',
      key: '002',
      value: { rev: '1-9af15cb11054ebe03a7816bf6c5e4128' },
      doc: { 
         _id: '002',
         _rev: '1-9af15cb11054ebe03a7816bf6c5e4128',
         name: 'Robert',
         age: 24,
         Designation: 'Programmer' 
      } 
   },
   { 
      id: '003',
      key: '003',
      value: { rev: '1-3033b5a78e915c52fd37325d42eb3935' },
      doc: { 
         _id: '003',
         _rev: '1-3033b5a78e915c52fd37325d42eb3935',
         name: 'Rahim',
         age: 25,
         Designation: 'Programmer' 
      } 
   } 
]

Anda dapat memperbarui berbagai dokumen di PouchDB sekaligus menggunakan bulkDocs()metode. Untuk melakukannya, Anda perlu membuat array dokumen di mana, setiap dokumen berisi_id, _rev dan nilai yang akan diperbarui.

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'}

Misalkan kita harus meningkatkan nilai usia di semua 3 dokumen sebanyak 2 tahun. Agar ini terjadi, pertama-tama Anda perlu 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. Saat 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 memperbarui 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_databas');

//Preparing the document
docs = [{_id : '001', _rev: '1-1604b0c3ff69dc1e261265fd60808404', age : 25, },
      {_id : '002', _rev: '1-b5e49db7e984841bf12a13e3ee548125', age : 26, },
      {_id : '003', _rev: '1-a7b342786ecc707aa91f3b321a177b51', age : 27 }]

//Updating the documents in bulk
db.bulkDocs(docs, function(err, response) {
   if (err) {
      return console.log(err);
   } else {
      console.log("Documents Updated Successfully");
   }
});

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

C:\PouchDB_Examples >node Update_All_Document.js

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

Documents Updated Successfully

Sekarang, jika Anda menjalankan file bulk_fetch.js program dengan menambahkan {include_docs: true} sebagai parameter untuk allDocs() fungsi, sebelum panggilan balik, kemudian, Anda akan melihat nilai-nilai dokumen diperbarui, seperti yang ditunjukkan di bawah ini.

[ 
   { 
      id: '001',
      key: '001',
      value: { rev: '2-77f3a9974dd578d12f3f2a33aae64c8d' },
      doc: { 
         age: 25,
         _id: '001',
         _rev: '2-77f3a9974dd578d12f3f2a33aae64c8d' 
      } 
   },
   { 
      id: '002',
      key: '002',
      value: { rev: '2-43966007568ce9567c96422195fcfa0d' },
      doc: { 
         age: 26,
         _id: '002',
         _rev: '2-43966007568ce9567c96422195fcfa0d' 
      } 
   },
   { 
      id: '003',
      key: '003',
      value: { rev: '2-6c5349652527f4f39583ff14f23cd677' },
      doc: { 
         age: 27,
         _id: '003',
         _rev: '2-6c5349652527f4f39583ff14f23cd677' 
      } 
   } 
]

Memperbarui Batch dari Database Jarak Jauh

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 tangkapan layar berikut.

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

Sekarang, ambil konten dokumen ini menggunakan kode berikut.

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

//Creating the database object
var db = new PouchDB('http://localhost:5984/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 remote_bulk_fetch.js. Saat menjalankan, program di atas memberi Anda konten dari semua dokumen dalam database seperti yang ditunjukkan di bawah ini.

[ 
   { 
      id: '001', 
      key: '001', 
      value: { rev: '3-552920d1ca372986fad7b996ce365f5d' }, 
      doc: { 
         _id: '001', 
         _rev: '3-552920d1ca372986fad7b996ce365f5d', 
         name: 'Raju', 
         age: 23, 
         designation: 'Designer' 
      } 
   },
   { 
      id: '002', 
      key: '002', 
      value: { rev: '1-9af15cb11054ebe03a7816bf6c5e4128' }, 
      doc: { 
         _id: '002', 
         _rev: '1-9af15cb11054ebe03a7816bf6c5e4128', 
         name: 'Robert', 
         age: 24, 
         Designation: 'Programmer' 
      } 
   }, 
   { 
      id: '003', 
      key: '003', 
      value: { rev: '1-3033b5a78e915c52fd37325d42eb3935' }, 
      doc: { 
         _id: '003',
         _rev: '1-3033b5a78e915c52fd37325d42eb3935',
         name: 'Rahim', 
         age: 25, 
         Designation: 'Programmer' 
      } 
   } 
]

Berikut ini adalah contoh pembaruan 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: '3-552920d1ca372986fad7b996ce365f5d', age : 24, }, 
      {_id : '002', _rev: '1-9af15cb11054ebe03a7816bf6c5e4128', age : 26, }, 
      {_id : '003', _rev: '1-3033b5a78e915c52fd37325d42eb3935', age : 27}]

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

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

C:\PouchDB_Examples >node Remote_Update_Document.js

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

Documents Updated Successfully

Sekarang, jika Anda menjalankan file remote_bulk_fetch.js Program Anda akan dapat melihat nilai-nilai dokumen yang diperbarui, seperti yang ditunjukkan di bawah ini.

[ 
   { 
      id: '001',
      key: '001',
      value: { rev: '4-6bc8d9c7a60fed2ed1667ec0740c1f39' },
      doc: { 
         _id: '001',
         _rev: '4-6bc8d9c7a60fed2ed1667ec0740c1f39',
         age: 25 
      } 
   },
   { 
      id: '002',
      key: '002',
      value: { rev: '2-1aa24ce77d96bb9d2a0675cdf1e113e0' },
      doc: { 
         _id: '002',
         _rev: '2-1aa24ce77d96bb9d2a0675cdf1e113e0',
         age: 26 
      } 
   },
   { 
      id: '003',
      key: '003',
      value: { rev: '2-fa113149ba618eda77f73072974a2bc1' },
      doc: { 
         _id: '003',
         _rev: '2-fa113149ba618eda77f73072974a2bc1',
         age: 27 
      } 
   } 
]

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 perlu 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 tangkapan layar 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 ada di database bernama my_database yang disimpan di CouchDB, dan menampilkan pesan berikut.

Documents Deleted Successfully

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

Sintaksis

Berikut ini adalah sintaks 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 tangkapan layar 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.

Anda dapat mengambil lampiran dari PouchDB menggunakan getAttachment()metode. Metode ini selalu mengembalikan objek blob atau buffer.

Sintaksis

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

db.getAttachment( docId, attachmentId, [callback] );

Contoh

Berikut adalah contoh mengambil lampiran dokumen yang disimpan di PouchDB, menggunakan getAttachment()metode. Dengan menggunakan kode ini, kami mencoba mengambil lampiranatt_1.txt dari dokumen 001.

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

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

//Retrieving an attachment from a document
db.getAttachment('001', 'att_1.txt', function(err, blob_buffer) {
   if (err) {
      return console.log(err);
   } else {
      console.log(blob_buffer);
   }
});

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

C:\PouchDB_Examples >node Retrieve_Attachment.js

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

<Buffer 00>

Mengambil Lampiran dari Dokumen Jarak Jauh

Anda juga dapat mengambil lampiran 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.

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 ini adalah contoh mengambil lampiran dokumen 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');

//Retrieving an attachment from a document 
db.getAttachment('001', 'att_1.txt', function(err, blob_buffer) { 
   if (err) { 
      return console.log(err); 
   } else { 
      console.log(blob_buffer); 
   } 
});

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

C:\PouchDB_Examples >node Remote_Retrieve_Attachment.js

Ini mengambil lampiran dokumen dan menampilkannya di konsol seperti yang ditunjukkan di bawah ini.

<Buffer 00>

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.

Salah satu fitur terpenting dari PouchDB adalah replikasi, yaitu Anda dapat membuat salinan database. Anda dapat mereplikasi instans PouchDB yang disimpan secara lokal atau instans CouchDB yang disimpan dari jarak jauh.

Sintaksis

Berikut ini adalah sintaks mereplikasi database di PouchDB. Ini, salinan filesource databaseadalah targetnya. Untuk metode ini, Anda bisa langsung meneruskan lokasi database sumber dan tujuan dalam format String, atau Anda bisa meneruskan objek yang mewakilinya.

PouchDB.replicate(source, target, [options])

Sumber dan target dapat berupa instans PouchDB atau instans CouchDB.

Mereplikasi LocalDB ke CouchDB

Misalkan ada database dengan nama sample_database di PouchDB, dan berisi 3 dokumen doc1, doc2, dan doc3, memiliki konten seperti yang ditunjukkan di bawah ini.

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'}

Berikut adalah contoh yang membuat salinan dari database bernama sample_database yang disimpan secara lokal di CouchDB.

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

var localdb = 'sample_database';

//Creating remote database object 
var remotedb = 'http://localhost:5984/sample_database';

//Replicating a local database to Remote 
PouchDB.replicate(localDB, remoteDB); 
console.log ("Database replicated successfully");

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

C:\PouchDB_Examples >node Replication_example.js

Ini membuat salinan database bernama sample_database di instance CouchDB dan menampilkan pesan di konsol seperti yang ditunjukkan di bawah ini.

Database replicated successfully

Anda dapat memverifikasi apakah database direplikasi dalam instans CouchDB Anda dengan mengklik tautan berikut http://127.0.0.1:5984/_utils/index.html.

Saat mengklik, Anda dapat melihat daftar database di CouchDB Anda. Anda juga dapat mengamati bahwa salinan databasesample_database dibuat di sini.

Jika Anda memilih database yang direplikasi, Anda dapat melihat isinya seperti yang ditunjukkan di bawah ini.

Mereplikasi CouchDB ke PouchDB

Misalkan ada database dengan nama Remote_Database di CouchDB dan berisi 3 dokumen, doc1, doc2, dan doc3, memiliki konten seperti yang ditunjukkan di bawah ini.

doc1 = {_id: '001', name: 'Geeta', age: 25, Designation: 'Programmer'}
doc2 = {_id: '002', name: 'Zara Ali', age: 24, Designation: 'Manager'}
doc3 = {_id: '003', name: 'Mary', age: 23, Designation: 'Admin'}

Berikut adalah contoh yang membuat salinan dari database bernama Remote_Database yang disimpan di CouchDB di penyimpanan lokal.

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

var localdb = 'sample_database';

var remotedb = 'http://localhost:5984/sample_database1';

//Replicating a local database to Remote
PouchDB.replicate(remotedb, localdb);
console.log("Database replicated successfully");

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

C:\PouchDB_Examples >node Replication_example2.js

Ini membuat salinan dari database bernama remote_database dalam instance PouchDB dan menampilkan pesan di konsol seperti yang ditunjukkan di bawah ini.

Database replicated successfully

Anda dapat memverifikasi apakah database direplikasi dalam instans Pouch Anda dengan menjalankan kode berikut.

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

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

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

Jika database direplikasi saat menjalankan kode di atas, Anda akan mendapatkan konten database yang direplikasi seperti yang ditunjukkan di bawah ini.

[ 
   { 
      id: '001', 
      key: '001', 
      value: { rev: '1-23cf3767e32a682c247053b16caecedb' }, 
      doc: { 
         name: 'Geeta', 
         age: 25, 
         Designation: 'Programmer', 
         _id: '001',
         _rev: '1-23cf3767e32a682c247053b16caecedb' 
      } 
   }, 
   { 
      id: '002', 
      key: '002', 
      value: { rev: '1-d5bcfafbd4d4fae92fd7fc4fdcaa3a79' }, 
      doc: { 
         name: 'Zara Ali', 
         age: 24, 
         Designation: 'Manager', 
         _id: '002',
         _rev: '1-d5bcfafbd4d4fae92fd7fc4fdcaa3a79' 
      } 
   }, 
   { 
      id: '003', 
      key: '003', 
      value: { rev: '1-c4cce025dbd30d21e40882d41842d5a4' }, 
      doc: { 
         name: 'Mary', 
         age: 23, 
         Designation: 'Admin', 
         _id: '003', 
         _rev: '1-c4cce025dbd30d21e40882d41842d5a4' 
      } 
   } 
]

Anda dapat menyinkronkan database yang disimpan secara lokal di PouchDB dengan database yang disimpan di CouchDB. Di bab sebelumnya, kita telah melihat bagaimana mereplikasi database menggunakan PouchDB. Di sana kami telah menggunakan metode tersebutPouchDB.replicate(source, destination).

Selain itu, kami juga dapat mereplikasi data, dari database lokal ke database jarak jauh, dan dari database jarak jauh ke database lokal menggunakan replicate.to() dan replicate.from() metode seperti yang ditunjukkan di bawah ini.

//Replicating data from local database to remote database 
localDB.replicate.to(remoteDB);

//Replicating data from remote database to local database 
localDB.replicate.from(remoteDB);

Dimana, localDB adalah objek database yang disimpan secara lokal di PouchDB dan remoteDB adalah objek database yang disimpan di CouchDB.

Contoh

Misalkan ada database dengan nama local_database di PouchDB, dan berisi 3 dokumen, doc1, doc2, dan doc3, memiliki konten seperti yang ditunjukkan di bawah ini.

doc1 = {_id: '003', name: 'Ram', age: 26, Designation: 'Programmer'} 
doc2 = {_id: '004', name: 'Robert', age: 27, Designation: 'Programmer'} 
doc3 = {_id: '005', name: 'Rahim', age: 28, Designation: 'Programmer'}

Dan ada database dengan nama Remote_Database di CouchDB dan berisi 2 dokumen doc1, doc2, yang isinya seperti di bawah ini.

doc1 = {_id: '001', name: 'Geeta', age: 25, Designation: 'Programmer'} 
doc2 = {_id: '002', name: 'Zara Ali', age: 24, Designation: 'Manager'}

Berikut adalah contoh sinkronisasi kedua database ini, di mana satu disimpan di PouchDB dan lainnya disimpan di CouchDB, menggunakan replicate.to() dan replicate.from() metode.

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

//Creating local database object
var localDB = new PouchDB('local_database');

//Creating remote database object
var remoteDB = new PouchDB('http://localhost:5984/remote_database');

//Synchronising both databases
localDB.replicate.to(remoteDB);
remoteDB.replicate.from(localDB);
console.log("Databases synchronized successfully");

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

C:\PouchDB_Examples >node Synchronising_databases.js

Ini menyinkronkan dua database remoteDB dan localDB, dan menampilkan pesan di konsol seperti yang ditunjukkan di bawah ini.

Databases synchronized successfully.

Setelah menyinkronkan kedua database, kunjungi http://127.0.0.1:5984/_utils/index.html dan pilih remote_database. Anda dapat mengamati bahwa dokumen dari database lokal (003, 004, 005) telah disalin dalam database ini seperti yang ditunjukkan di bawah.

Dengan cara yang sama, jika Anda mengambil konten file local_database disimpan di PouchDB Anda dapat mengamati bahwa dokumen dari database yang disimpan di CouchDB disalin di sini.

[ 
   { 
      id: '001',
      key: '001',
      value: { rev: '1-23cf3767e32a682c247053b16caecedb' },
      doc: { 
         name: 'Geeta',
         age: 25,
         Designation: 'Programmer',
         _id: '001',
         _rev: '1-23cf3767e32a682c247053b16caecedb' 
      } 
   },
   { 
      id: '002',
      key: '002',
      value: { rev: '1-d5bcfafbd4d4fae92fd7fc4fdcaa3a79' },
      doc: { 
         name: 'Zara Ali',
         age: 24,
         Designation: 'Manager',
         _id: '002',
         _rev: '1-d5bcfafbd4d4fae92fd7fc4fdcaa3a79' 
      } 
   },
   { 
      id: '003',
      key: '003',
      value: { rev: '1-bf4619471ac346fdde46cfa8fbf3587f' },
      doc: { 
         name: 'Ram',
         age: 26,
         Designation: 'Programmer',
         _id: '003',
         _rev: '1-bf4619471ac346fdde46cfa8fbf3587f' 
      } 
   },
   { 
      id: '004',
      key: '004',
      value: { rev: '1-29b8f803958c994e3eb37912a45d869c' },
      doc: { 
         name: 'Robert',
         age: 27,
         Designation: 'Programmer',
         _id: '004',
         _rev: '1-29b8f803958c994e3eb37912a45d869c' 
      } 
   },
   { 
      id: '005',
      key: '005',
      value: { rev: '1-0eb89f71998ffa8430a640fdb081abd2' },
      doc: { 
         name: 'Rahim',
         age: 28,
         Designation: 'Programmer',
         _id: '005',
         _rev: '1-0eb89f71998ffa8430a640fdb081abd2' 
      } 
   } 
]

Anda dapat menulis ulang program di atas menggunakan sync() metode yang disediakan oleh PouchDB, bukan dua metode replicate.to() dan replicate.from() seperti gambar dibawah.

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

//Creating local database object
var localDB = new PouchDB('local');

//Creating remote database object
var remoteDB = new PouchDB('http://localhost:5984/remote_database');

//Synchronising Remote and local databases
localDB.sync(remoteDB, function(err, response) {
   if (err) {
      return console.log(err);
   } else {
      console.log(response);
   }
});

Saat menjalankan program di atas, ini menyinkronkan dua database yang menampilkan pesan berikut.

{ 
   push: { 
      ok: true,
      start_time: Fri Mar 25 2016 15:54:37 GMT+0530 (India Standard Time),
      docs_read: 6,
      docs_written: 6,
      doc_write_failures: 0,
      errors: [],
      last_seq: 10,
      status: 'complete',
      end_time: Fri Mar 25 2016 15:54:37 GMT+0530 (India Standard Time) 
   },
   pull: { 
      ok: true,
      start_time: Fri Mar 25 2016 15:54:37 GMT+0530 (India Standard Time),
      docs_read: 0,
      docs_written: 0,
      doc_write_failures: 0,
      errors: [],
      last_seq: 2,
      status: 'complete',
      end_time: Fri Mar 25 2016 15:54:37 GMT+0530 (India Standard Time) 
   } 
}

Dalam bab ini, kita akan membahas konsep-konsep seperti, pemadatan dan pengambilan data massal dari PouchDB.

Pemadatan

Anda dapat mengurangi ukuran database dengan menghapus data yang tidak digunakan menggunakan compact()metode. Anda dapat memadatkan database lokal serta database jarak jauh menggunakan metode ini.

Berikut adalah contoh yang mendemonstrasikan penggunaan file compact() metode di PouchDB.

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

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

db.compact(function (err, result) {
   if (err) {
      return console.log(err);
   } else {
      console.log(result);
   }
});

Metode BulkGet

Anda dapat mengambil sekumpulan dokumen secara massal menggunakan bulkGet()metode. Untuk metode ini, Anda perlu meneruskan satu set id dan _rev's.

Berikut adalah contoh yang mendemonstrasikan penggunaan file bulkGet() metode di PouchDB.

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

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

//Preparing documents
//Inserting Document
db.bulkGet({docs: [
   { id: "001", rev: "1-5dc593eda0e215c806677df1d12d5c47"},
   { id: "002", rev: "1-2bfad8a9e66d2679b99c0cab24bd9cc8"},
   { id: "003", rev: "1-7cff4a5da1f97b077a909ff67bd5b047"} ]}, function(err, result) {
   if (err) {
      return console.log(err);
   } else {
      console.log(result);
   }
});