PouchDB删除批处理示例

本文概述

  • 验证
  • 从远程数据库删除批处理
  • 验证
bulkDocs()方法用于删除PouchDB中的文档数组。你只需要知道要从数据库中删除的文档的_id和_rev值即可。你必须添加另一个_deleted键值对:true。
我们在PouchDB中存储了一个名为” Second_Database” 的数据库, 其中包含3个文档:
[ { id: '001', key: '001', value: { rev: '5-f1b552f9901a408e98406c424f368a49' }, doc:{ age: 21, name: 'Rahul', _id: '001', _rev: '5-f1b552f9901a408e98406c424f368a49' } }, { id: '002', key: '002', value: { rev: '2-4ecc64cd994d4a9cb0e4376cc5636b37' }, doc:{ age: 26, name: 'Ryan', _id: '002', _rev: '2-4ecc64cd994d4a9cb0e4376cc5636b37' } }, { id: '003', key: '003', value: { rev: '2-01a70d54a8eb4181b17f5f6c9c2a0756' }, doc:{ age: 19, name: 'Reema', _id: '003', _rev: '2-01a70d54a8eb4181b17f5f6c9c2a0756' } } ]

PouchDB删除批处理示例

文章图片
让我们使用它们各自的_id和_rev值删除文档:
//Requiring the packagevar PouchDB = require('PouchDB'); //Creating the database objectvar db = new PouchDB('Second_Database'); //Preparing the documentdocs = [{_id : '001', _rev: '5-f1b552f9901a408e98406c424f368a49', _deleted : true }, {_id : '002', _rev: '2-4ecc64cd994d4a9cb0e4376cc5636b37', _deleted : true }, {_id : '003', _rev: '2-01a70d54a8eb4181b17f5f6c9c2a0756', _deleted : true }]//Deleting Documentsdb.bulkDocs(docs, function(err, response) {if (err) {return console.log(err); } else {console.log(response+"Documents deleted Successfully"); }});

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

输出
PouchDB删除批处理示例

文章图片
批处理现已删除。你也可以验证它。
验证
PouchDB删除批处理示例

文章图片
你可以看到数据库中没有文档。
从远程数据库删除批处理 我们还可以删除远程存储在服务器(CouchDB)上的数据库中的文档数组。你只需要将路径传递到CouchDB中的数据库, 其中包含你要删除的文档。
例子
【PouchDB删除批处理示例】我们在CouchDB服务器中有一个名为” 员工” 的数据库。
PouchDB删除批处理示例

文章图片
“ 员工” 数据库中有三个文档
PouchDB删除批处理示例

文章图片
你可以使用节点(Read_Remote_Batch.js)命令来获取这些文档。
{ id: '001', key: '001', value: { rev: '7-7d47e310d011cd29c6cb1f3e6ee90b5e' }, doc:{ _id: '001', _rev: '7-7d47e310d011cd29c6cb1f3e6ee90b5e', age: 20, name: 'Rani' } }, { id: '002', key: '002', value: { rev: '2-6cfa4cd923a6d6cb2ad6368890b308f5' }, doc:{ _id: '002', _rev: '2-6cfa4cd923a6d6cb2ad6368890b308f5', age: 21, name: 'Priya' } }, { id: '003', key: '003', value: { rev: '2-f85f7aa70407e7cd2c6984ccd75ed2a2' }, doc:{ _id: '003', _rev: '2-f85f7aa70407e7cd2c6984ccd75ed2a2', age: 22, name: 'Kanchan' } } ]

PouchDB删除批处理示例

文章图片
现在, 删除数据库” 雇员” 的所有文档。
//Requiring the packagevar PouchDB = require('PouchDB'); //Creating the database objectvar db = new PouchDB('http://localhost:5984/employees'); //Preparing the documentdocs = [{_id : '001', _rev: '7-7d47e310d011cd29c6cb1f3e6ee90b5e', _deleted : true }, {_id : '002', _rev: '2-6cfa4cd923a6d6cb2ad6368890b308f5', _deleted : true }, {_id : '003', _rev: '2-f85f7aa70407e7cd2c6984ccd75ed2a2', _deleted : true }]//Deleting Documentsdb.bulkDocs(docs, function(err, response) {if (err) {return console.log(err); } else {console.log("Documents deleted Successfully"); }});

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

输出
PouchDB删除批处理示例

文章图片
验证 你可以看到” 员工” 数据库中没有文档。
PouchDB删除批处理示例

文章图片

    推荐阅读