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>