Вы можете читать / извлекать несколько / массовых документов из базы данных в 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, используя узел, как показано ниже.
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, которая содержит документ, который должен быть прочитан.
пример
Предположим, что на сервере CouchDB есть база данных с именем my_database . Затем, если вы проверите список баз данных в CouchDB, используя URL-адрес 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, используя узел, как показано ниже.
C:\PouchDB_Examples >node Remote_Read_AllDocument.js
Это читает содержимое данного документа, который существует в базе данных с именем my_database, которая хранится в CouchDB, и отображается на консоли, как показано ниже.