PouchDB - Recupera batch

Puoi leggere / recuperare più documenti / in blocco da un database in PouchDB utilizzando il allDocs() metodo.

Sintassi

Di seguito è riportata la sintassi dell'utilizzo di db.allDocs()metodo di PouchDB. Questo metodo accetta una funzione di callback opzionale.

db.allDocs()

Esempio

Di seguito è riportato un esempio di recupero di tutti i documenti in un database denominato my_database che viene memorizzato localmente, utilizzando db.allDocs()metodo. Questo metodo recupera la matrice di documenti sotto forma di oggetti, per ottenere il contenuto di ogni documento che devi chiamare comedocs.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);
   }
});

Salva il codice sopra in un file con il nome Read_All_Document.js. Apri il prompt dei comandi ed esegui il file JavaScript utilizzandonode come mostrato di seguito.

C:\PouchDB_Examples >node Read_All_Document.js

Questo legge tutti i documenti che esistono nel database denominato my_databaseche è memorizzato localmente. Il seguente messaggio viene visualizzato sulla 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' } 
   }
]

In generale, come mostrato nel risultato sopra, utilizzando allDocs() puoi vedere solo il metodo _id, key e _revcampi di ogni documento. Tuttavia, per includere l'intero documento nel risultato, è necessario creare il parametro facoltativoinclude_docs true come mostrato di seguito.

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

L'esecuzione del codice precedente fornisce un elenco di documenti completi nei documenti specificati, come mostrato nel codice seguente.

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

Lettura di un batch da un database remoto

È inoltre possibile recuperare tutti i documenti dal database archiviato in remoto sul server (CouchDB).

Per farlo invece del nome di un database, è necessario passare il percorso al database in CouchDB, che contiene il documento che deve essere letto.

Esempio

Supponiamo che ci sia un database denominato my_databasenel server CouchDB. Quindi, se verifichi l'elenco dei database in CouchDB utilizzando l'URLhttp://127.0.0.1:5984/_utils/index.html otterrai il seguente screenshot.

Di seguito è riportato un esempio di lettura di tutti i documenti che esistono in un database denominato my_database che è memorizzato nel server 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);
   }
});

Salva il codice sopra in un file con il nome Remote_Read_AllDocument.js. Apri il prompt dei comandi ed esegui il file JavaScript utilizzandonode come mostrato di seguito.

C:\PouchDB_Examples >node Remote_Read_AllDocument.js

Questo legge il contenuto del documento dato che esiste nel database denominato my_database che è memorizzato in CouchDB e viene visualizzato sulla console come mostrato di seguito.

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