PouchDB - odzyskiwanie załącznika

Możesz pobrać załącznik z PouchDB za pomocą getAttachment()metoda. Ta metoda zawsze zwraca obiekty typu blob lub bufory.

Składnia

Poniżej znajduje się składnia getAttachment(). Do tej metody musimy przekazać id dokumentu i id załącznika. Ta metoda akceptuje również opcjonalną funkcję zwrotną.

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

Przykład

Poniżej znajduje się przykład pobierania załącznika do dokumentu przechowywanego w PouchDB przy użyciu getAttachment()metoda. Korzystając z tego kodu, próbujemy pobrać załącznikatt_1.txt z dokumentu 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);
   }
});

Zapisz powyższy kod w pliku o nazwie Retrieve_Attachment.js. Otwórz wiersz polecenia i uruchom plik JavaScript za pomocąnode jak pokazano niżej.

C:\PouchDB_Examples >node Retrieve_Attachment.js

Spowoduje to pobranie załącznika dokumentu i wyświetlenie go na konsoli, jak pokazano poniżej.

<Buffer 00>

Pobieranie załącznika z dokumentu zdalnego

Możesz także pobrać załącznik do dokumentu istniejącego w bazie danych, który jest przechowywany zdalnie na serwerze (CouchDB).

W tym celu zamiast nazwy bazy danych należy podać ścieżkę do bazy w CouchDB, w której znajduje się dokument przeznaczony do odczytania.

Przykład

Załóżmy, że istnieje baza danych o nazwie my_databasena serwerze CouchDB. Następnie, jeśli zweryfikujesz listę baz danych w CouchDB za pomocą adresu URLhttp://127.0.0.1:5984/_utils/index.html otrzymasz następujący zrzut ekranu.

Jeśli wybierzesz bazę danych o nazwie my_database, możesz wyświetlić jego zawartość, jak pokazano poniżej.

Załóżmy, że w tym dokumencie znajduje się załącznik, jak pokazano poniżej.

Poniżej znajduje się przykład pobierania załącznika do dokumentu 001 który istnieje w bazie danych o nazwie my_database, który jest przechowywany na serwerze 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); 
   } 
});

Zapisz powyższy kod w pliku o nazwie Remote_Retrieve_Attachment.js. Otwórz wiersz polecenia i uruchom plik JavaScript za pomocąnode jak pokazano niżej.

C:\PouchDB_Examples >node Remote_Retrieve_Attachment.js

Spowoduje to pobranie załącznika dokumentu i wyświetlenie go na konsoli, jak pokazano poniżej.

<Buffer 00>