个性化阅读
专注于IT技术分析

PouchDB读取批处理

本文概述

在PouchDB中, allDocs()方法用于从数据库读取或检索多个或大量文档。

此方法接受可选的回调函数。

句法:

db.allDocs()

读取批处理示例

让我们以使用db.allDocs()方法从存储在PouchDB服务器中的名为” Second_Database”的数据库中检索所有文档为例。此方法以对象形式检索批次。

//Requiring the package
var PouchDB = require('PouchDB');
//Creating the database object
var db = new PouchDB('Second_Database');
//Retrieving all the documents in PouchDB
db.allDocs(function(err, docs) {
   if (err) {	
      return console.log(err);
   } else {
      console.log (docs.rows);
   }
});

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

node Read_Batch.js

输出

[ { id: '001', key: '001', value: { rev: '4-f59034f061004dbca22da61662459a16' } }, { id: '002', key: '002', value: { rev: '1-0c0628a46e404d90870f4e892dc2d900' } }, { id: '003', key: '003', value: { rev: '1-1dc4fe229a61420db2b657e8fcbbfa7d' } } ]
PouchDB读取批处理1

通常, 通过使用allDocs()方法, 你只能看到每个文档的_id, key和_rev字段。如果要在结果中查看整个文档, 则必须使可选参数include_docs为true。

//Requiring the package
var PouchDB = require('PouchDB');
//Creating the database object
var db = new PouchDB('Second_Database');
//Retrieving all the documents in PouchDB
db.allDocs({include_docs: true}, function(err, docs) {
   if (err) {
      return console.log(err);
   } else {
      console.log (docs.rows);
   }
});

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

node Read_Batch2.js

输出

[ { 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' } } ]
PouchDB读取批处理2

从远程数据库读取批处理

你可以从远程存储在CouchDB服务器上的数据库中读取批处理。为此, 你必须在要读取批处理的地方传递数据库的路径。

例子

我们在CouchDB服务器上有一个名为”员工”的数据库。

PouchDB读取批处理3
PouchDB读取批处理4

让我们从存储在CouchDB服务器上的”员工”数据库中读取所有文档。

//Requiring the package
var PouchDB = require('PouchDB');
//Creating the database object
var db = new PouchDB('http://localhost:5984/employees');
//Retrieving all the documents in PouchDB
db.allDocs({include_docs: true}, function(err, docs) {
   if (err) {
      return console.log(err);
   } else {
      console.log(docs.rows);
   }
});

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

node 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读取批处理5
赞(0)
未经允许不得转载:srcmini » PouchDB读取批处理

评论 抢沙发

评论前必须登录!