PouchDB - प्रतिकृति
PouchDB की सबसे महत्वपूर्ण विशेषताओं में से एक प्रतिकृति है, यानी आप एक डेटाबेस की एक प्रति बना सकते हैं। आप या तो एक PouchDB उदाहरण स्थानीय रूप से संग्रहीत या CouchDB उदाहरण दूरस्थ रूप से संग्रहीत कर सकते हैं।
वाक्य - विन्यास
निम्नलिखित PouchDB में एक डेटाबेस की नकल का वाक्यविन्यास है। यहाँ, की एक प्रतिsource databaseलक्ष्य है। इस पद्धति के लिए, आप सीधे स्ट्रिंग प्रारूप में स्रोत और गंतव्य डेटाबेस के स्थान को पास कर सकते हैं, या आप उनका प्रतिनिधित्व करने वाली वस्तुओं को पास कर सकते हैं।
PouchDB.replicate(source, target, [options])
स्रोत और लक्ष्य दोनों ही PouchDB उदाहरण या CouchDB उदाहरण हो सकते हैं।
CDBDB के लिए स्थानीयडीबी की पुनरावृत्ति
मान लीजिए कि नाम के साथ एक डेटाबेस है sample_database PouchDB में, और इसमें 3 दस्तावेज़ शामिल हैं 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 यह 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");
नाम के साथ फ़ाइल में उपरोक्त कोड सहेजें Replication_example.js। कमांड प्रॉम्प्ट खोलें और जावास्क्रिप्ट फ़ाइल का उपयोग करके निष्पादित करेंnode जैसा की नीचे दिखाया गया।
C:\PouchDB_Examples >node Replication_example.js
यह CouchDB उदाहरण में नमूना_डेटाबेस नामक डेटाबेस की एक प्रतिलिपि बनाता है और नीचे दिखाए गए अनुसार कंसोल पर एक संदेश प्रदर्शित करता है।
Database replicated successfully
आप निम्न लिंक पर क्लिक करके सत्यापित कर सकते हैं कि डेटाबेस आपके CouchDB उदाहरण में दोहराया गया है या नहीं http://127.0.0.1:5984/_utils/index.html।
क्लिक करने पर, आप अपने CouchDB में डेटाबेस की सूची देख सकते हैं। आप डेटाबेस की एक प्रति भी देख सकते हैंsample_database यहाँ बनाया गया है।
यदि आप प्रतिरूपित डेटाबेस का चयन करते हैं, तो आप नीचे दी गई सामग्री को देख सकते हैं।
PouchDB के लिए CouchDB की पुनरावृत्ति
मान लीजिए कि नाम के साथ एक डेटाबेस है Remote_Database CouchDB में और इसमें 3 दस्तावेज़ शामिल हैं, doc1, doc2, और doc3, नीचे दिखाए अनुसार सामग्री है।
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'}
निम्नलिखित एक उदाहरण है जो डेटाबेस नाम की एक प्रतिलिपि बनाता है Remote_Database कि CouchDB में स्थानीय भंडारण में संग्रहीत किया जाता है।
//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");
नाम के साथ फ़ाइल में उपरोक्त कोड सहेजें Replication_example2.js। कमांड प्रॉम्प्ट खोलें और जावास्क्रिप्ट फ़ाइल का उपयोग करके निष्पादित करेंnode जैसा की नीचे दिखाया गया।
C:\PouchDB_Examples >node Replication_example2.js
यह नामित डेटाबेस की एक प्रतिलिपि बनाता है remote_database PouchDB उदाहरण में और नीचे दिखाए गए अनुसार कंसोल पर एक संदेश प्रदर्शित करता है।
Database replicated successfully
आप यह सत्यापित कर सकते हैं कि डेटाबेस निम्नलिखित कोड को निष्पादित करके आपके पाउच उदाहरण में दोहराया गया है या नहीं।
//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);
}
});
यदि डेटाबेस उपरोक्त कोड को निष्पादित करने पर दोहराया जाता है, तो आपको नीचे दिखाए गए अनुसार डेटाबेस की सामग्री मिलेगी।
[
{
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'
}
}
]