PouchDB – Extracción del accesorio

Puede eliminar el archivo adjunto de PouchDB usando removeAttachment () método.

Sintaxis

A continuación se muestra la sintaxis removeAttachment () método. En este método, debemos pasar el ID del documento, el ID del adjunto y el valor _rev. Este método también acepta una función de devolución de llamada opcional.

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

Ejemplo

Supongamos que hay un documento en PouchDB con id 001que contiene la identificación, el nombre, la edad, el cargo del empleado junto con la solicitud como se muestra a continuación.

{ 
   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 continuación se muestra un ejemplo de cómo eliminar un archivo adjunto para este documento. 001 almacenado en PouchDB usando removeAttachment () método.

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

Guarde el código anterior en un archivo llamado Remove_Attachment.js… Abra una línea de comando y ejecute el archivo JavaScript usando nudo Como se muestra abajo.

C:PouchDB_Examples >node Remove_Attachment.js

Esto eliminará el documento adjunto y mostrará un mensaje en la consola como se muestra a continuación.

Attachment deleted successfully

Una vez eliminado, puede verificar el contenido del documento ejecutando el siguiente código.

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

Guarde este código como read.js y ejecutarlo. En la ejecución, obtendrá el contenido del documento después de eliminar el archivo adjunto como se muestra a continuación.

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

Eliminar un archivo adjunto de un documento eliminado

Puede eliminar un archivo adjunto de un documento existente en una base de datos que se almacena de forma remota en el servidor (CouchDB).

Para hacer esto, en lugar del nombre de la base de datos, debe pasar la ruta a la base de datos en CouchDB, que contiene el documento que se va a leer.

Ejemplo

Digamos que hay una base de datos llamada my_database en el servidor CouchDB. Luego, si verifica la lista de bases de datos en CouchDB usando la url http://127.0.0.1:5984/_utils/index.html obtendrá la siguiente captura de pantalla.

Eliminar un archivo adjunto de un documento eliminado

Y si selecciona una base de datos llamada my_database, puede ver su contenido como se muestra a continuación.

Eliminar la base de datos de adjuntos

Supongamos que este documento tiene un archivo adjunto como se muestra a continuación.

Eliminar un archivo adjunto

A continuación se muestra un ejemplo de cómo eliminar el documento adjunto anterior. 001 que existe en la base de datos llamada my_database que se almacena en el servidor CouchDB.

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

Guarde el código anterior en un archivo llamado Remote_Delete_Attachment.js… Abra una línea de comando y ejecute el archivo JavaScript usando nudo Como se muestra abajo.

C:PouchDB_Examples >node Remote_Delete_Attachment.js

Esto eliminará el archivo adjunto existente y mostrará el siguiente mensaje.

Attachment Deleted successfully

Si vuelve a visitar el documento, es posible que observe que el archivo adjunto se ha eliminado como se muestra en la siguiente captura de pantalla.

Adjunto eliminado

🚫