PouchDB - Recupero allegato

È possibile recuperare un allegato da PouchDB utilizzando il file getAttachment()metodo. Questo metodo restituisce sempre oggetti BLOB o buffer.

Sintassi

Di seguito è riportata la sintassi di getAttachment(). A questo metodo, dobbiamo passare l'ID del documento e l'ID dell'allegato. Questo metodo accetta anche una funzione di callback opzionale.

db.getAttachment( docId, attachmentId, [callback] );

Esempio

Di seguito è riportato un esempio di recupero di un allegato di un documento archiviato in PouchDB, utilizzando getAttachment()metodo. Utilizzando questo codice, stiamo cercando di recuperare un allegatoatt_1.txt dal documento 001.

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

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

//Retrieving an attachment from a document
db.getAttachment('001', 'att_1.txt', function(err, blob_buffer) {
   if (err) {
      return console.log(err);
   } else {
      console.log(blob_buffer);
   }
});

Salva il codice sopra in un file con il nome Retrieve_Attachment.js. Apri il prompt dei comandi ed esegui il file JavaScript utilizzandonode come mostrato di seguito.

C:\PouchDB_Examples >node Retrieve_Attachment.js

Ciò recupera l'allegato del documento e viene visualizzato sulla console come mostrato di seguito.

<Buffer 00>

Recupero dell'allegato da un documento remoto

È inoltre possibile recuperare un allegato di un documento esistente nel database archiviato in remoto sul server (CouchDB).

Per fare ciò, invece del nome di un database, è necessario passare il percorso al database in CouchDB, che contiene il documento da leggere.

Esempio

Supponiamo che ci sia un database denominato my_databasenel server CouchDB. Quindi, se verifichi l'elenco dei database in CouchDB utilizzando l'URLhttp://127.0.0.1:5984/_utils/index.html otterrai il seguente screenshot.

Se selezioni il database denominato my_database, puoi visualizzarne il contenuto come mostrato di seguito.

Supponiamo che ci sia un allegato in questo documento come mostrato di seguito.

Di seguito è riportato un esempio di recupero di un allegato del documento 001 che esiste in un database denominato my_database, che è memorizzato nel server CouchDB.

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

//Creating the database object 
var db = new PouchDB('http://localhost:5984/my_database');

//Retrieving an attachment from a document 
db.getAttachment('001', 'att_1.txt', function(err, blob_buffer) { 
   if (err) { 
      return console.log(err); 
   } else { 
      console.log(blob_buffer); 
   } 
});

Salva il codice sopra in un file con il nome Remote_Retrieve_Attachment.js. Apri il prompt dei comandi ed esegui il file JavaScript utilizzandonode come mostrato di seguito.

C:\PouchDB_Examples >node Remote_Retrieve_Attachment.js

Questo recupera il documento allegato e lo visualizza sulla console come mostrato di seguito.

<Buffer 00>