PouchDB更新批处理示例

本文概述

  • 验证
  • 更新远程数据库中的批处理
  • 验证
【PouchDB更新批处理示例】bulkDocs()方法用于更新PouchDB中的文档数组。要更新批处理, 你必须创建一个文档数组, 其中每个文档都包含_id, _rev和要更新的值。
我们在PouchDB中存储了一个名为” Second_Database” 的数据库, 其中包含3个文档:
{ id: '001', key: '001', value: { rev: '4-f59034f061004dbca22da61662459a16' }, doc: { name: 'Ajeet', age: 23, Designation: 'Programmer', _id: '001', _rev: '4-f59034f061004dbca22da61662459a16' } }, { id: '002', key: '002', value: { rev: '1-0c0628a46e404d90870f4e892dc2d900' }, doc: { name: 'Robert', age: 24, Designation: 'Teacher', _id: '002', _rev: '1-0c0628a46e404d90870f4e892dc2d900' } }, { id: '003', key: '003', value: { rev: '1-1dc4fe229a61420db2b657e8fcbbfa7d' }, doc: { name: 'Abdul', age: 25, Designation: 'Mechanic', _id: '003', _rev: '1-1dc4fe229a61420db2b657e8fcbbfa7d' } } ]

让我们使用它们各自的_id和_rev值更新文档:
更改所有三个文档的名称和年龄:
//Requiring the package var PouchDB = require('PouchDB'); //Creating the database object var db = new PouchDB('Second_Database'); //Preparing the document docs = [{_id : '001', _rev:'4-f59034f061004dbca22da61662459a16', age : 21, name:'Rahul', }, {_id : '002', _rev: '1-0c0628a46e404d90870f4e892dc2d900', age : 26, name:'Ryan', }, {_id : '003', _rev: '1-1dc4fe229a61420db2b657e8fcbbfa7d', age : 19, name: 'Reema', }] //Updating the documents in bulk db.bulkDocs(docs, function(err, response) { if (err) { return console.log(err); } else { console.log("Documents Updated Successfully"); } });

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

输出
PouchDB更新批处理示例

文章图片
验证 你可以使用节点(Read_Batch)命令验证批处理是否已更新:
PouchDB更新批处理示例

文章图片
[ { 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' } } ]

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

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

文章图片
你可以使用节点(Read_Remote_Batch.js)命令来获取这些文档。
[ { id: '001', key: '001', value: { rev: '6-bc6904f9fdcf64e8bc181e7da006db45' }, doc: { _id: '001', _rev: '6-bc6904f9fdcf64e8bc181e7da006db45', name: 'Lucky', age: 24, Designation: 'Teacher' } }, { id: '002', key: '002', value: { rev: '1-415437b4fd54d2af100e2eef26e3fad7' }, doc: { _id: '002', _rev: '1-415437b4fd54d2af100e2eef26e3fad7', name: 'Raman', age: 25, Designation: 'Designer' } }, { id: '003', key: '003', value: { rev: '1-ab07c37012e837c1654c0d6b9f22a56f' }, doc: { _id: '003', _rev: '1-ab07c37012e837c1654c0d6b9f22a56f', name: 'Albert', age: 26, Designation: 'Engineer' } } ]

PouchDB更新批处理示例

文章图片
现在, 更新存储在CouchDB服务器上的” 员工” 数据库的所有文档名称和年龄。
//Requiring the package var PouchDB = require('PouchDB'); //Creating the database object var db = new PouchDB('http://localhost:5984/employees'); //Preparing the document docs = [{_id : '001', _rev:'6-bc6904f9fdcf64e8bc181e7da006db45', age : 20, name: 'Rani'}, {_id : '002', _rev: '1-415437b4fd54d2af100e2eef26e3fad7', age : 21, name: 'Priya' }, {_id : '003', _rev: '1-ab07c37012e837c1654c0d6b9f22a56f', age : 22, name: 'Kanchan'}] //Inserting Document db.bulkDocs(docs, function(err, response) { if (err) { return console.log(err); } else { console.log(+"Documents Updated Successfully"); } });

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

它将更新” 员工” 数据库中的文档。
验证 你可以使用节点(Read_Remote_Batch)命令验证批处理是否已更新:
PouchDB更新批处理示例

文章图片
[ { 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' } } ]

    推荐阅读