PouchDB - Ek Ekleme

Kullanarak bir belgeye ikili nesne ekleyebilirsiniz. putAttachment() PouchDB'de yöntem.

Sözdizimi

Aşağıdaki sözdizimi putAttachment(). Bu yönteme, ek ile birlikte belge kimliğini, ek kimliğini, MIME türünü iletmeliyiz. Bu yöntem ayrıca isteğe bağlı bir geri arama işlevini de kabul eder.

db.putAttachment( docId, attachmentId, attachment, type, [callback] );

Eklentiyi blob veya buffer nesnelerini kullanarak hazırlayabiliriz. blob tarayıcı ile çalışırken kullanılır ve buffer ile çalışırken kullanılır Node.js, programlarımızı Node.js'de gösterdiğimizden, belgeleri hazırlamak için tampon nesneleri kullanıyoruz.

Misal

Aşağıda, adlı bir veritabanı içinde ekli bir belge oluşturmaya bir örnek verilmiştir. my_database PouchDB'de kullanarak putAttachment() yöntem.

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

Yukarıdaki kodu adıyla bir dosyaya kaydedin Add_Attachment.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 Add_Attachment.js

Bu, adlı veritabanına bir ek ekleyen boş bir belge oluşturur. my_database PouchDB'de saklanır ve aşağıdaki mesajı görüntüler.

Attachment added successfully

Aşağıdaki kodu kullanarak belgeyi okuyarak ekin eklenip eklenmediğini doğrulayabilirsiniz.

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

Yukarıdaki kodu farklı kaydedin read_doc.jsve çalıştır. Bu programı yürütürken, belgenin aşağıdaki içeriğini görebilirsiniz.

{ 
   _attachments: { 
      att_1.txt: { 
         content_type: 'text/plain',
         digest: 'md5-k7iFrf4NoInN9jSQT9WfcQ==',
         data: 'AA==' 
      } 
   },
   _id: '001',
   _rev: '1-620fd5f41d3328fcbf9ce7504338a51d' 
}

Mevcut Bir Belgeye Ek Ekleme

Bir veritabanında isme göre bir belge olduğunu varsayalım. my_database Kimlikli PouchDB '002'. İçeriğini çalıştırarak alabilirsiniz.read_doc.js id değerini şu şekilde değiştirerek 002, Aşağıda gösterildiği gibi.

{ 
   name: 'Raju',
   age: 23,
   designation: 'Designer',
   _id: '002',
   _rev: '1-05ca7b5f3f4762a9fb2d119cd34c8d40' 
}

Şimdi, bu belgeyi kullanarak bu belgeye bir ek ekleyebilirsiniz. _rev değer.

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

Yukarıdaki kodu adıyla bir dosyaya kaydedin Add_Attachment_to_doc.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 Add_Attachment_to_doc.js

Bu, belirtilen belgeye aşağıdaki mesajı görüntüleyen bir ek ekler.

Attachment added successfully

İd değerini değiştirirseniz read_doc.js -e 002 ve çalıştırın, aşağıdaki çıktıyı alacaksınız.

{ 
   name: 'Raju',
   age: 23,
   designation: 'Designer',
   _attachments: { 
      att_1: { 
         content_type: 'text/plain',
         digest: 'md5-k7iFrf4NoInN9jSQT9WfcQ==',
         data: 'AA==' 
      } 
   },
   _id: '002',
   _rev: '2-3bb4891b954699bce28346723cc7a709' 
}

Uzak Belgeye Ek Ekleme

Sunucuda (CouchDB) uzaktan depolanan bir veritabanında bulunan belgeye bir ek de ekleyebilirsiniz.

Bunu yapmak için, bir veritabanı adı yerine, okunacak 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.

Ve adlı veritabanını seçerseniz my_database, içeriğini aşağıda gösterildiği gibi görüntüleyebilirsiniz.

Aşağıda, belgeye bir ek ekleme örneği verilmiştir 001 adlı bir veritabanında saklanır 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');

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

Yukarıdaki kodu adıyla bir dosyaya kaydedin Remote_Add_Attachment.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_Add_Attachment.js

Bu, belirtilen belgeye aşağıdaki mesajı görüntüleyen bir ek ekler.

Attachment added successfully

Şimdi, belgeyi doğrularsanız, eki aşağıdaki ekran görüntüsünde gösterildiği gibi gözlemleyebilirsiniz.