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>