PouchDB - Belgeyi Güncelle

Ne zaman yeni bir alan olan PouchDB'de bir belge oluşturuyoruz _rev oluşturulur ve şu şekilde bilinir revision marker. _rev'ın değeri benzersiz bir rastgele sayıdır, belgede her değişiklik yaptığımızda _rev değişti.

PouchDB'deki mevcut bir belgeyi, (_rev). Bunu yapmak için öncelikle_revgüncellemek istediğimiz belgenin değeri. Şimdi, güncellenecek içeriği alınan içeriklerle birlikte yerleştirin._rev yeni bir belgedeki değeri girin ve son olarak bu belgeyi PouchDB'ye put() yöntem.

Misal

PouchDB'de kimliğe sahip bir belgemiz olduğunu varsayalım 001bir kişinin ayrıntılarına sahip olan. Bu belgeyi güncellemek için rev numarasına sahip olmamız gerekir. Bu nedenle, belgenin içeriğini almak için aşağıdaki kod kullanılır.

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

Yukarıdaki kodu çalıştırdığınızda, aşağıdaki çıktıyı alacaksınız.

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

Şimdi, kullanarak _rev anahtarın değerini güncelleyebilirsiniz "age"Aşağıdaki kodda gösterildiği gibi 26'ya.

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

Yukarıdaki kodu adıyla bir dosyaya kaydedin Update_Document.js. Komut istemini açın ve JavaScript dosyasını kullanarak çalıştırın.node Aşağıda gösterildiği gibi.

C:\Pouch_Examples>node Update_Document.js

Bu, adlı veritabanında bulunan verilen belgenin içeriğini günceller my_databaseyerel olarak depolanır. Konsolda aşağıdaki mesaj görüntülenir.

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

Uzak Veritabanında Bir Belgeyi Güncelleme

Ayrıca, sunucuda (CouchDB) uzaktan depolanan bir veritabanındaki mevcut bir belgeyi de güncelleyebilirsiniz.

Bunu yapmak için, bir veritabanı adı yerine, güncellenecek belgeyi içeren CouchDB'deki veritabanına giden yolu iletmeniz gerekir.

Misal

Adlı bir veritabanı olduğunu varsayalım my_databaseCouchDB sunucusunda. Ardından, URL'yi kullanarak CouchDB'deki veritabanları listesini doğrularsanızhttp://127.0.0.1:5984/_utils/index.html aşağıdaki ekran görüntüsünü alacaksınız.

Adlı veritabanına tıklayarak my_databaseaşağıdaki ekran görüntüsünü görebilirsiniz. Burada, bu veritabanının kimliğine sahip bir belge içerdiğini görebilirsiniz.001.

Aşağıda, kimliğine sahip belgenin yaşını "001"Adlı bir veritabanında bulunan my_database hangi CouchDB sunucusunda saklanır.

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

Yukarıdaki kodu adıyla bir dosyaya kaydedin Remote_Update_Document.js. Komut istemini açın ve JavaScript dosyasını kullanarak çalıştırın.node Aşağıda gösterildiği gibi.

C:\PouchDB_Examples >node Remote_Update_Document.js

Bu, adlı veritabanında bulunan verilen belgenin içeriğini günceller my_databaseCouchDB'de saklanır. Konsolda aşağıdaki mesaj görüntülenir.

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