本文概述
在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' } } ]
通常, 通过使用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' } } ]
从远程数据库读取批处理
你可以从远程存储在CouchDB服务器上的数据库中读取批处理。为此, 你必须在要读取批处理的地方传递数据库的路径。
例子
我们在CouchDB服务器上有一个名为”员工”的数据库。
让我们从存储在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' } } ]
评论前必须登录!
注册