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中的数据库,该数据库包含包含附件的文档。
示例
我们有一个数据库名称" employees"存储在CouchDB服务器上。
数据库"员工"的文档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
输出:
验证
现在您可以看到附件已删除。