PouchDB-バッチをフェッチ
を使用して、PouchDBのデータベースから複数の/バルクドキュメントを読み取り/取得できます。 allDocs() 方法。
構文
以下は、を使用する構文です。 db.allDocs()PouchDBのメソッド。このメソッドは、オプションのコールバック関数を受け入れます。
db.allDocs()
例
以下は、という名前のデータベース内のすべてのドキュメントを取得する例です。 my_database これは、を使用してローカルに保存されます db.allDocs()方法。このメソッドは、オブジェクトの形式でドキュメントの配列を取得し、呼び出す必要のある各ドキュメントのコンテンツを取得します。docs.rows。
//Requiring the package
var PouchDB = require('PouchDB');
//Creating the database object
var db = new PouchDB('my_database');
//Retrieving all the documents in PouchDB
db.allDocs(function(err, docs) {
if (err) {
return console.log(err);
} else {
console.log (docs.rows);
}
});
上記のコードを名前のファイルに保存します Read_All_Document.js。コマンドプロンプトを開き、を使用してJavaScriptファイルを実行しますnode 以下に示すように。
C:\PouchDB_Examples >node Read_All_Document.js
これにより、という名前のデータベースに存在するすべてのドキュメントが読み取られます。 my_databaseこれはローカルに保存されます。コンソールに次のメッセージが表示されます。
[
{
id: '001',
key: '001',
value: { rev: '1-9dc57f5faa7ea90eeec22eba8bfd05f5' }
},
{
id: '002',
key: '002',
value: { rev: '1-9bf80afcedb9f8b5b35567292affb254' }
},
{
id: '003',
key: '003',
value: { rev: '1-1204f108e41bf8baf867856d5da16c57' }
}
]
一般的に、上記の結果に示すように、 allDocs() あなただけが見ることができる方法 _id, key そして _rev各ドキュメントのフィールド。ただし、ドキュメント全体を結果に含めるには、オプションのパラメーターを作成する必要がありますinclude_docs 以下に示すようにtrue。
//Requiring the package
var PouchDB = require('PouchDB');
//Creating the database object
var db = new PouchDB('my_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);
}
});
上記のコードを実行すると、次のコードに示すように、指定されたドキュメント内の完全なドキュメントのリストが表示されます。
[
{
id: '001',
key: '001',
value: { rev: '1-9dc57f5faa7ea90eeec22eba8bfd05f5' },
doc: {
name: 'Ram',
age: 23,
Designation: 'Programmer',
_id: '001',
_rev: '1-9dc57f5faa7ea90eeec22eba8bfd05f5'
}
},
{
id: '002',
key: '002',
value: { rev: '1-9bf80afcedb9f8b5b35567292affb254' },
doc: {
name: 'Robert',
age: 24,
Designation: 'Programmer',
_id: '002',
_rev: '1-9bf80afcedb9f8b5b35567292affb254'
}
},
{
id: '003',
key: '003',
value: { rev: '1-1204f108e41bf8baf867856d5da16c57' },
doc: {
name: 'Rahim',
age: 25,
Designation: 'Programmer',
_id: '003',
_rev: '1-1204f108e41bf8baf867856d5da16c57'
}
}
]
リモートデータベースからのバッチの読み取り
サーバー(CouchDB)にリモートで保存されているデータベースからすべてのドキュメントをフェッチすることもできます。
これを行うには、データベース名の代わりに、読み取るドキュメントが含まれているCouchDB内のデータベースへのパスを渡す必要があります。
例
名前の付いたデータベースがあるとします my_databaseCouchDBサーバーで。次に、URLを使用してCouchDB内のデータベースのリストを確認するとhttp://127.0.0.1:5984/_utils/index.html 次のスクリーンショットが表示されます。
以下は、という名前のデータベースに存在するすべてのドキュメントを読み取る例です。 my_database これはCouchDBサーバーに保存されます。
//Requiring the package
var PouchDB = require('PouchDB');
//Creating the database object
var db = new PouchDB('http://localhost:5984/my_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);
}
});
上記のコードを名前のファイルに保存します Remote_Read_AllDocument.js。コマンドプロンプトを開き、を使用してJavaScriptファイルを実行しますnode 以下に示すように。
C:\PouchDB_Examples >node Remote_Read_AllDocument.js
これは、という名前のデータベースに存在する特定のドキュメントのコンテンツを読み取ります my_database これはCouchDBに保存され、以下に示すようにコンソールに表示されます。
[
{
id: '001',
key: '001',
value: { rev: '3-552920d1ca372986fad7b996ce365f5d' },
doc: {
_id: '001',
_rev: '3-552920d1ca372986fad7b996ce365f5d',
name: 'Raju',
age: 23,
designation: 'Designer'
}
},
{
id: '002',
key: '002',
value: { rev: '1-9af15cb11054ebe03a7816bf6c5e4128' },
doc: {
_id: '002',
_rev: '1-9af15cb11054ebe03a7816bf6c5e4128',
name: 'Robert',
age: 24,
Designation: 'Programmer'
}
},
{
id: '003',
key: '003',
value: { rev: '1-3033b5a78e915c52fd37325d42eb3935' },
doc: {
_id: '003',
_rev: '1-3033b5a78e915c52fd37325d42eb3935',
name: 'Rahim',
age: 25,
Designation: 'Programmer'
}
}
]