PouchDB - Anhang löschen

Sie können einen Anhang aus PouchDB mit dem löschen removeAttachment() Methode.

Syntax

Es folgt die Syntax von removeAttachment()Methode. An diese Methode müssen wir die Dokument-ID, die Anhang-ID und den Wert _rev übergeben. Diese Methode akzeptiert auch eine optionale Rückruffunktion.

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

Beispiel

Angenommen, in PouchDB befindet sich ein Dokument mit der ID 001, die ID, Name, Alter, Bezeichnung eines Mitarbeiters sowie einen Anhang wie unten gezeigt enthält.

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

Im Folgenden finden Sie ein Beispiel für das Löschen des Anhangs dieses Dokuments 001 in PouchDB gespeichert, mit removeAttachment() Methode.

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

Speichern Sie den obigen Code in einer Datei mit dem Namen Remove_Attachment.js. Öffnen Sie die Eingabeaufforderung und führen Sie die JavaScript-Datei mit ausnode Wie nachfolgend dargestellt.

C:\PouchDB_Examples >node Remove_Attachment.js

Dadurch wird der Anhang des Dokuments entfernt und eine Meldung auf der Konsole angezeigt (siehe unten).

Attachment deleted successfully

Nach dem Löschen können Sie den Inhalt des Dokuments überprüfen, indem Sie den folgenden Code ausführen.

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

Speichern Sie diesen Code als read.jsund ausführen. Bei der Ausführung erhalten Sie den Inhalt des Dokuments nach dem Löschen des Anhangs, wie unten gezeigt.

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

Entfernen des Anhangs aus einem Remote-Dokument

Sie können einen Anhang eines vorhandenen Dokuments in der Datenbank löschen, das remote auf dem Server (CouchDB) gespeichert ist.

Dazu müssen Sie anstelle eines Datenbanknamens den Pfad zur Datenbank in CouchDB übergeben, die das zu lesende Dokument enthält.

Beispiel

Angenommen, es gibt eine Datenbank mit dem Namen my_databaseauf dem CouchDB-Server. Wenn Sie dann die Liste der Datenbanken in CouchDB mithilfe der URL überprüfenhttp://127.0.0.1:5984/_utils/index.html Sie erhalten den folgenden Screenshot.

Und wenn Sie die genannte Datenbank auswählen my_databasekönnen Sie den Inhalt wie unten gezeigt anzeigen.

Angenommen, dieses Dokument enthält einen Anhang (siehe unten).

Im Folgenden finden Sie ein Beispiel für das Löschen des oben genannten Anhangs des Dokuments 001 das existiert in einer Datenbank mit dem Namen my_database welches auf dem CouchDB-Server gespeichert ist.

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

Speichern Sie den obigen Code in einer Datei mit dem Namen Remote_Delete_Attachment.js. Öffnen Sie die Eingabeaufforderung und führen Sie die JavaScript-Datei mit ausnode Wie nachfolgend dargestellt.

C:\PouchDB_Examples >node Remote_Delete_Attachment.js

Dadurch wird der vorhandene Anhang entfernt und die folgende Meldung angezeigt.

Attachment Deleted successfully

Wenn Sie das Dokument erneut besuchen, können Sie feststellen, dass der Anhang wie im folgenden Screenshot gezeigt gelöscht wurde.