Вы можете получить вложение из 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, используя узел, как показано ниже.
C:\PouchDB_Examples >node Retrieve_Attachment.js
Это извлекает вложение документа и отображается на консоли, как показано ниже.
<Buffer 00>
Получение вложения из удаленного документа
Вы также можете получить вложение документа, существующего в базе данных, который удаленно хранится на сервере (CouchDB).
Для этого вместо имени базы данных вам нужно передать путь к базе данных в CouchDB, которая содержит документ, который должен быть прочитан.
пример
Предположим, что на сервере CouchDB есть база данных с именем my_database . Затем, если вы проверите список баз данных в 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, используя узел, как показано ниже.
C:\PouchDB_Examples >node Remote_Retrieve_Attachment.js
Это извлекает вложение документа и отображает его на консоли, как показано ниже.