Pouchdb-retrieving-attachment

提供:Dev Guides
移動先:案内検索

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/indexl を使用してCouchDB内のデータベースのリストを確認すると、次のスクリーンショットが表示されます。

リモートドキュメントから添付ファイルを取得

*my_database* という名前のデータベースを選択すると、以下に示すようにその内容を表示できます。

添付ファイルの取得

以下に示すように、このドキュメントに添付ファイルがあるとします。

添付ファイル

以下は、CouchDBサーバーに保存されている my_database という名前のデータベースに存在するドキュメント 001 の添付ファイルを取得する例です。

//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>