Pouchdb 简明教程
PouchDB - Retrieving Attachment
你可以使用 getAttachment() 方法从 PouchDB 检索附件。此方法永远返回 blob 或缓冲区对象。
Syntax
以下是 getAttachment() 的语法。我们必须向此方法传递文档 ID 和附件 ID。此方法还接受可选的回调函数。
db.getAttachment( docId, attachmentId, [callback] );
Example
以下是使用 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>
Retrieving Attachment from a Remote Document
你还可以检索存在于存储在服务器上的(CouchDB)数据库中的文档附件。
要执行此操作,您需要传入 CouchDB 中的数据库路径而不是数据库名称,该路径包含要读取的文档。
Example
假设 CouchDB 服务器中有一个名为 my_database 的数据库。然后,如果您使用 URL http://127.0.0.1:5984/_utils/index.html 验证 CouchDB 中的数据库列表,您将获得以下屏幕截图。
如果你选择名为 my_database 的数据库,你可以查看其内容,如下所示。
假设此文档中有一个附件,如下所示。
以下是针对存储在名为 my_database 的数据库中的文档 001 检索附件的示例,此数据库存储在 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 的文件中。打开命令提示符并使用 node 执行 JavaScript 文件,如下所示。
C:\PouchDB_Examples >node Remote_Retrieve_Attachment.js
这会检索文档附件,并如下所示显示在控制台中。
<Buffer 00>