PouchDB - Ek Silme

Bir eki PouchDB'den silebilirsiniz. removeAttachment() yöntem.

Sözdizimi

Aşağıdaki sözdizimi removeAttachment()yöntem. Bu yönteme, belge kimliğini, ek kimliğini ve _rev değerini iletmeliyiz. Bu yöntem ayrıca isteğe bağlı bir geri arama işlevini de kabul eder.

db.removeAttachment ( docId, attachmentId, rev, [callback] );

Misal

PouchDB'de kimliğine sahip bir belge olduğunu varsayalım 001, aşağıda gösterildiği gibi bir ek ile birlikte bir çalışanın kimliğini, adını, yaşını, tanımını içeren

{ 
   name: 'Raju',
   age: 23,
   designation: 'Designer',
   _attachments: { 
      'att_1.txt': { 
         content_type: 'text/plain',
         digest: 'md5-k7iFrf4NoInN9jSQT9WfcQ==',
         data: 'AA==' 
      } 
   },
   _id: '001',
   _rev: '2-cdec6c9f45ddbee7d456945654742d43' 
}

Aşağıda, bu belgenin ekini silme örneği verilmiştir 001 kullanılarak PouchDB'de saklanır removeAttachment() yöntem.

//Requiring the package
var PouchDB = require('PouchDB');

//Creating the database object
var db = new PouchDB('my');
db.removeAttachment('001', 'att_1.txt', '2-cdec6c9f45ddbee7d456945654742d43', 
   function(err, res) {
   if (err) {
      return console.log(err);
   } else {
      console.log(res+"Attachment Deleted successfully")
   }
});

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

Bu, belgenin ekini kaldırır ve aşağıda gösterildiği gibi konsolda bir mesaj görüntüler.

Attachment deleted successfully

Silme işleminden sonra, aşağıdaki kodu çalıştırarak belgenin içeriğini doğrulayabilirsiniz.

//Requiring the package
var PouchDB = require('PouchDB');

//Creating the database object
var db = new PouchDB('my_d');

//Reading the Document
db.get('001',{attachments: true}, function(err, doc) {
   if (err) {
      return console.log(err);
   } else {
      console.log(doc);
   }
});

Bu kodu farklı kaydedin read.jsve çalıştır. Çalıştırma sırasında, aşağıda gösterildiği gibi eki sildikten sonra belgenin içeriğini alacaksınız.

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

Uzaktaki Bir Belgeden Eki Kaldırma

Sunucuda (CouchDB) uzaktan depolanan veritabanında mevcut bir belgenin ekini silebilirsiniz.

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.

Bu belgede aşağıda gösterildiği gibi bir ek olduğunu varsayalım.

Aşağıda, belgenin yukarıda belirtilen ekini silme örneği verilmiştir 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');

db.removeAttachment('001', 'att_1.txt', '2-049f1c4ffa54576ec0947b65e34de423', 
   function(err, res) { 
   if (err) { 
      return console.log(err); 
   } else { 
      console.log(res+"Attachment Deleted successfully") 
   } 
});

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

Bu, mevcut eki kaldırır ve aşağıdaki mesajı görüntüler.

Attachment Deleted successfully

Belgeyi tekrar ziyaret ederseniz, aşağıdaki ekran görüntüsünde gösterildiği gibi ekin silindiğini fark edebilirsiniz.