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 правда, как показано ниже.

//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_databaseна сервере CouchDB. Затем, если вы проверите список баз данных в 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, используя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' 
      } 
   } 
]