PouchDB - Buscar lote

Você pode ler / recuperar documentos múltiplos / em massa de um banco de dados no PouchDB usando o allDocs() método.

Sintaxe

A seguir está a sintaxe de uso do db.allDocs()método do PouchDB. Este método aceita uma função de retorno de chamada opcional.

db.allDocs()

Exemplo

A seguir está um exemplo de recuperação de todos os documentos em um banco de dados denominado my_database que é armazenado localmente, usando db.allDocs()método. Este método recupera a matriz de documentos na forma de objetos, para obter o conteúdo de cada documento que você precisa chamar comodocs.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);
   }
});

Salve o código acima em um arquivo com o nome Read_All_Document.js. Abra o prompt de comando e execute o arquivo JavaScript usandonode como mostrado abaixo.

C:\PouchDB_Examples >node Read_All_Document.js

Isso lê todos os documentos que existem no banco de dados denominado my_databaseque é armazenado localmente. A mensagem a seguir é exibida no console.

[ 
   { 
      id: '001',
      key: '001',
      value: { rev: '1-9dc57f5faa7ea90eeec22eba8bfd05f5' } 
   },
   { 
      id: '002',
      key: '002',
      value: { rev: '1-9bf80afcedb9f8b5b35567292affb254' } 
    },
   { 
      id: '003',
      key: '003',
      value: { rev: '1-1204f108e41bf8baf867856d5da16c57' } 
   }
]

Em geral, conforme mostrado no resultado acima, usando allDocs() método você pode ver apenas o _id, key e _revcampos de cada documento. No entanto, para incluir todo o documento no resultado, você deve fazer o parâmetro opcionalinclude_docs verdadeiro conforme mostrado abaixo.

//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);
   }
});

Executar o código acima fornece uma lista de documentos completos nos documentos especificados, conforme mostrado no código a seguir.

[ 
   { 
      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' 
      } 
   }
]

Lendo um lote de um banco de dados remoto

Você também pode buscar todos os documentos do banco de dados que está armazenado remotamente no servidor (CouchDB).

Para fazer isso em vez de um nome de banco de dados, você precisa passar o caminho para o banco de dados no CouchDB, que contém o documento que deve ser lido.

Exemplo

Suponha que haja um banco de dados chamado my_databaseno servidor CouchDB. Então, se você verificar a lista de bancos de dados no CouchDB usando o URLhttp://127.0.0.1:5984/_utils/index.html você obterá a seguinte captura de tela.

A seguir está um exemplo de leitura de todos os documentos que existem em um banco de dados denominado my_database que é armazenado no servidor 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);
   }
});

Salve o código acima em um arquivo com o nome Remote_Read_AllDocument.js. Abra o prompt de comando e execute o arquivo JavaScript usandonode como mostrado abaixo.

C:\PouchDB_Examples >node Remote_Read_AllDocument.js

Lê o conteúdo de um determinado documento que existe no banco de dados denominado my_database que é armazenado no CouchDB e exibido no console conforme mostrado abaixo.

[ 
   { 
      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' 
      } 
   } 
]