PouchDB - получение вложения

Вы можете получить вложение из PouchDB, используя getAttachment()метод. Этот метод всегда возвращает объекты BLOB-объектов или буферов.

Синтаксис

Ниже приводится синтаксис getAttachment(). В этот метод мы должны передать идентификатор документа и идентификатор вложения. Этот метод также принимает дополнительную функцию обратного вызова.

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

пример

Ниже приведен пример получения вложения документа, хранящегося в PouchDB, с использованием getAttachment()метод. Используя этот код, мы пытаемся получить вложениеatt_1.txt из документа 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);
   }
});

Сохраните приведенный выше код в файл с именем Retrieve_Attachment.js. Откройте командную строку и выполните файл JavaScript, используяnode как показано ниже.

C:\PouchDB_Examples >node Retrieve_Attachment.js

Это извлекает вложение документа и отображает его на консоли, как показано ниже.

<Buffer 00>

Получение вложения из удаленного документа

Вы также можете получить вложение документа, существующего в базе данных, который хранится удаленно на сервере (CouchDB).

Для этого вместо имени базы данных вам необходимо передать путь к базе данных в CouchDB, которая содержит документ, который необходимо прочитать.

пример

Предположим, есть база данных с именем my_databaseна сервере CouchDB. Затем, если вы проверите список баз данных в CouchDB, используя URL-адресhttp://127.0.0.1:5984/_utils/index.html вы получите следующий снимок экрана.

Если вы выберете базу данных с именем my_database, вы можете просмотреть его содержимое, как показано ниже.

Предположим, к этому документу есть приложение, как показано ниже.

Ниже приведен пример получения вложения документа. 001 который существует в базе данных с именем my_database, который хранится на сервере 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); 
   } 
});

Сохраните приведенный выше код в файл с именем Remote_Retrieve_Attachment.js. Откройте командную строку и выполните файл JavaScript, используяnode как показано ниже.

C:\PouchDB_Examples >node Remote_Retrieve_Attachment.js

Это извлекает вложение документа и отображает его на консоли, как показано ниже.

<Buffer 00>