PouchDB - 獲取附件



您可以使用 getAttachment() 方法從 PouchDB 中檢索附件。此方法始終返回 blob 或 buffer 物件。

語法

以下是 getAttachment() 方法的語法。此方法需要傳入文件 ID 和附件 ID。此方法還接受一個可選的回撥函式。

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

示例

以下是如何使用 getAttachment() 方法檢索儲存在 PouchDB 中的文件附件的示例。此程式碼嘗試從文件 001 中檢索附件 att_1.txt

//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 的檔案中。開啟命令提示符並使用 node 執行 JavaScript 檔案,如下所示。

C:\PouchDB_Examples >node Retrieve_Attachment.js

這將檢索文件附件並在控制檯中顯示,如下所示。

<Buffer 00>

從遠端文件檢索附件

您還可以檢索儲存在伺服器(CouchDB)上的遠端資料庫中存在的文件的附件。

為此,您需要傳入 CouchDB 中包含要讀取文件的資料庫路徑,而不是資料庫名稱。

示例

假設 CouchDB 伺服器中有一個名為 my_database 的資料庫。然後,如果您使用 URL http://127.0.0.1:5984/_utils/index.html 驗證 CouchDB 中的資料庫列表,您將獲得以下螢幕截圖。

Retrieving Attachment from a Remote Document

如果您選擇名為 my_database 的資料庫,您可以檢視其內容,如下所示。

Retrieving Attachment

假設此文件中有一個附件,如下所示。

Attachment

以下是如何檢索儲存在 CouchDB 伺服器上的名為 my_database 的資料庫中存在的文件 001 的附件的示例。

//Requiring the package 
var PouchDB = require('PouchDB');

//Creating the database object 
var db = new PouchDB('https://: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 的檔案中。開啟命令提示符並使用 node 執行 JavaScript 檔案,如下所示。

C:\PouchDB_Examples >node Remote_Retrieve_Attachment.js

這將檢索文件附件並在控制檯中顯示,如下所示。

<Buffer 00>
廣告