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