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>