Replication PouchDB की सबसे महत्वपूर्ण विशेषताओं में से एक है. यह आपको डेटाबेस की Duplicate Copy बनाने की सुविधा प्रदान करता है.
इसे आप स्थानीय रूप से संग्रहीत PouchDB उदाहरण या किसी दूरस्थ CouchDB उदाहरण को दोहराने के लिए दूरस्थ रूप से store कर सकते हो.
PouchDB.replicate(source, target, [options])
Source और Targets PouchDB का उदाहरण या CouchDB का उदाहरण हो सकते हैं.
PouchDB में नाम sample_database के साथ एक डेटाबेस होता है और इसमें 3 Documents Doc1, Doc2, और Doc3 शामिल होते है.
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'}
sample_database नामक डेटाबेस की duplicate copy बनाता है जो कि स्थानीय स्तर पर CouchDB में Store है .
//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");
अब हम एक Folder PouchDB_Examples के Name से बनाते है और उसमे "Replication_example.js" नामक File में Code को Save कर लेते है.
C:\PouchDB_Examples >node Replication_example.js
CouchDB सर्वर पर "remotedb" नाम से एक डेटाबेस बनाते है जिसमें तीन Documents Doc1, Doc2, और Doc3, के साथ Mentioned के रूप में सामग्री है.
doc1 = {_id: '001', name: 'Altamas', age: 20, Designation: 'Web Developer'}
doc2 = {_id: '002', name: 'Amreen', age: 22, Designation: 'Software Engineer'}
doc3 = {_id: '003', name: 'Naira', age: 28, Designation: 'Project Manager'}
CouchDB में संग्रहीत Remote_Database नाम से डेटाबेस की Duplicate Copy बनाने के लिए एक उदाहरण नीचे दिया गया है.
//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");
अब हम एक Folder PouchDB_Examples के Name से बनाते है और उसमे "Replication_example2.js" नामक File में Code को Save कर लेते है.
C:\PouchDB_Examples >node Replication_example2.js
Database replicated successfully
इस कोड को Execute करके आप यह सत्यापित कर सकते हैं कि डेटाबेस को आपके पाच उदाहरण में दोहराया गया है या नहीं.
//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);
}
});
यदि उपरोक्त कोड Execute करने पर डेटाबेस को दोहराया गया है तो आपको नीचे दिखाए अनुसार दोहराए गए डेटाबेस की सामग्री मिल जाएगी.
[
{
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'
}
}
]