PouchDB - Recuperando Anexo

Você pode recuperar um anexo do PouchDB usando o getAttachment()método. Este método sempre retorna objetos blob ou buffer.

Sintaxe

A seguir está a sintaxe do getAttachment(). Para este método, temos que passar o id do documento e o id do anexo. Este método também aceita uma função de retorno de chamada opcional.

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

Exemplo

A seguir está um exemplo de recuperação de um anexo de um documento armazenado no PouchDB, usando getAttachment()método. Usando este código, estamos tentando recuperar um anexoatt_1.txt do 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);
   }
});

Salve o código acima em um arquivo com o nome Retrieve_Attachment.js. Abra o prompt de comando e execute o arquivo JavaScript usandonode como mostrado abaixo.

C:\PouchDB_Examples >node Retrieve_Attachment.js

Isso recupera o anexo do documento e exibe no console conforme mostrado abaixo.

<Buffer 00>

Recuperando Anexo de um Documento Remoto

Você também pode recuperar um anexo de um documento existente no banco de dados que está armazenado remotamente no servidor (CouchDB).

Para fazer isso, em vez de um nome de banco de dados, você precisa passar o caminho para o banco de dados no CouchDB, que contém o documento a ser lido.

Exemplo

Suponha que haja um banco de dados chamado my_databaseno servidor CouchDB. Então, se você verificar a lista de bancos de dados no CouchDB usando o URLhttp://127.0.0.1:5984/_utils/index.html você obterá a seguinte captura de tela.

Se você selecionar o banco de dados chamado my_database, você pode visualizar seu conteúdo conforme mostrado abaixo.

Suponha que haja um anexo neste documento, conforme mostrado abaixo.

A seguir está um exemplo de recuperação de um anexo do documento 001 que existe em um banco de dados chamado my_database, que é armazenado no servidor 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); 
   } 
});

Salve o código acima em um arquivo com o nome Remote_Retrieve_Attachment.js. Abra o prompt de comando e execute o arquivo JavaScript usandonode como mostrado abaixo.

C:\PouchDB_Examples >node Remote_Retrieve_Attachment.js

Isso recupera o anexo do documento e o exibe no console, conforme mostrado abaixo.

<Buffer 00>