PouchDB - Perbarui Dokumen

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