📜  Pouchdb删除附件

📅  最后修改于: 2020-12-01 02:54:02             🧑  作者: Mango

PouchDB删除附件

removeAttachment()方法用于从PouchDB删除附件。您必须使用此方法传递document_id,attachment_id和_rev值才能删除attachmet。此方法还接受可选的回调函数。

句法:

db.removeAttachment ( doc_Id, attachment_Id, rev, [callback] );

删除附件示例

我们在PouchDB中有一个ID为002的文档,其中包含ID,姓名,年龄,带有雇员的雇员的姓名。

{ name: 'Aryan',
  age: 21,
  designation: 'Teacher',
  _attachments:
   { 'attachment1.txt':
      { content_type: 'text/plain',
        revpos: 2,
        digest: 'md5-k7iFrf4NoInN9jSQT9WfcQ==',
        data: 'AA==' } },
  _id: '002',
  _rev: '2-388510d44393457cb06764dd89542ef3' }

让我们使用removeAttachment()方法删除附件。

//Requiring the package
var PouchDB = require('PouchDB');
//Creating the database object
var db = new PouchDB('Last_Database');
db.removeAttachment('002', 'attachment_1.txt', '2-388510d44393457cb06764dd89542ef3',
function(err, res) {
if (err) {
  return console.log(err);
} else {
  console.log(res+"Attachment Deleted successfully")
}
});

将以上代码保存在名为“ PouchDB_Examples”的文件夹中的名为“ Delete_Attachment.js”的文件中。打开命令提示符,然后使用node执行JavaScript文件:

node Delete_Attachment.js

输出:

附件已成功删除。

验证

您可以使用read命令验证附件是否已从文档中删除。

从远程数据库删除附件

您可以从远程存储的服务器(CouchDB)中删除附件。您只需要将路径传递到CouchDB中的数据库,该数据库包含包含附件的文档。

我们在CouchDB服务器上存储了一个数据库名称“ employees”。

数据库“雇员”具有ID为“ 001”的文档。

让我们删除附件。

//Requiring the package 
var PouchDB = require('PouchDB');
//Creating the database object 
var db = new PouchDB('http://localhost:5984/employees');

db.removeAttachment('001', 'att_1.txt', '10-4263773fcdb9632c28765e3f614bd261', 
   function(err, res) { 
   if (err) { 
      return console.log(err); 
   } else { 
      console.log(res+"Attachment Deleted successfully") 
   } 
});

将以上代码保存在名为“ PouchDB_Examples”的文件夹中的名为“ Delete_Remote_Attachment.js”的文件中。打开命令提示符,然后使用node执行JavaScript文件:

node Delete_Remote_Attachment.js 

输出:

验证

现在您可以看到附件已删除。