
- PouchDB 教程
- PouchDB - 首頁
- PouchDB - 概述
- PouchDB - 環境
- PouchDB - 建立資料庫
- PouchDB - 資料庫資訊
- PouchDB - 刪除資料庫
- PouchDB - 建立文件
- PouchDB - 讀取文件
- PouchDB - 更新文件
- PouchDB - 刪除文件
- PouchDB - 建立批處理
- PouchDB - 獲取批處理
- PouchDB - 更新批處理
- PouchDB - 刪除批處理
- PouchDB - 新增附件
- PouchDB - 獲取附件
- PouchDB - 刪除附件
- PouchDB - 複製
- PouchDB - 同步
- PouchDB - 其他
- PouchDB 有用資源
- PouchDB - 快速指南
- PouchDB - 有用資源
- PouchDB - 討論
PouchDB - 刪除附件
您可以使用 **removeAttachment()** 方法從 PouchDB 中刪除附件。
語法
以下是 **removeAttachment()** 方法的語法。對於此方法,我們必須傳遞文件 ID、附件 ID 和 _rev 值。此方法還接受一個可選的回撥函式。
db.removeAttachment ( docId, attachmentId, rev, [callback] );
示例
假設 PouchDB 中有一個 ID 為 **001** 的文件,其中包含員工的 ID、姓名、年齡、職位以及附件,如下所示。
{ name: 'Raju', age: 23, designation: 'Designer', _attachments: { 'att_1.txt': { content_type: 'text/plain', digest: 'md5-k7iFrf4NoInN9jSQT9WfcQ==', data: 'AA==' } }, _id: '001', _rev: '2-cdec6c9f45ddbee7d456945654742d43' }
以下是如何使用 **removeAttachment()** 方法刪除儲存在 PouchDB 中的此文件 **001** 的附件的示例。
//Requiring the package var PouchDB = require('PouchDB'); //Creating the database object var db = new PouchDB('my'); db.removeAttachment('001', 'att_1.txt', '2-cdec6c9f45ddbee7d456945654742d43', function(err, res) { if (err) { return console.log(err); } else { console.log(res+"Attachment Deleted successfully") } });
將以上程式碼儲存在名為 **Remove_Attachment.js** 的檔案中。開啟命令提示符並使用 **node** 執行 JavaScript 檔案,如下所示。
C:\PouchDB_Examples >node Remove_Attachment.js
這將刪除文件的附件並在控制檯上顯示一條訊息,如下所示。
Attachment deleted successfully
刪除後,您可以透過執行以下程式碼來驗證文件的內容。
//Requiring the package var PouchDB = require('PouchDB'); //Creating the database object var db = new PouchDB('my_d'); //Reading the Document db.get('001',{attachments: true}, function(err, doc) { if (err) { return console.log(err); } else { console.log(doc); } });
將此程式碼另存為 **read.js** 並執行它。執行後,您將獲得刪除附件後文檔的內容,如下所示。
{ name: 'Raju', age: 23, designation: 'Designer', _id: '001', _rev: '3-da775487a6ed0495f2e49c543384f8e8' }
從遠端文件中刪除附件
您可以刪除資料庫中已存在且遠端儲存在伺服器(CouchDB)上的文件的附件。
為此,您需要傳遞 CouchDB 中包含要讀取的文件的資料庫的路徑,而不是資料庫名稱。
示例
假設 CouchDB 伺服器中有一個名為 **my_database** 的資料庫。然後,如果您使用 URL **http://127.0.0.1:5984/_utils/index.html** 驗證 CouchDB 中的資料庫列表,您將獲得以下螢幕截圖。

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

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

以下是如何刪除上述文件 **001** 的附件的示例,該文件存在於名為 **my_database** 的資料庫中,該資料庫儲存在 CouchDB 伺服器中。
//Requiring the package var PouchDB = require('PouchDB'); //Creating the database object var db = new PouchDB('https://:5984/my_database'); db.removeAttachment('001', 'att_1.txt', '2-049f1c4ffa54576ec0947b65e34de423', function(err, res) { if (err) { return console.log(err); } else { console.log(res+"Attachment Deleted successfully") } });
將以上程式碼儲存在名為 **Remote_Delete_Attachment.js** 的檔案中。開啟命令提示符並使用 **node** 執行 JavaScript 檔案,如下所示。
C:\PouchDB_Examples >node Remote_Delete_Attachment.js
這將刪除現有附件並顯示以下訊息。
Attachment Deleted successfully
如果您再次訪問該文件,您會注意到附件已被刪除,如下面的螢幕截圖所示。
