PouchDB - Obtener lote
Puede leer / recuperar documentos múltiples / masivos de una base de datos en PouchDB usando el allDocs() método.
Sintaxis
A continuación se muestra la sintaxis del uso de db.allDocs()método de PouchDB. Este método acepta una función de devolución de llamada opcional.
db.allDocs()
Ejemplo
A continuación, se muestra un ejemplo de cómo recuperar todos los documentos de una base de datos denominada my_database que se almacena localmente, usando db.allDocs()método. Este método recupera la matriz de documentos en forma de objetos, para obtener el contenido de cada documento que necesita llamar 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);
}
});
Guarde el código anterior en un archivo con el nombre Read_All_Document.js. Abra el símbolo del sistema y ejecute el archivo JavaScript usandonode Como se muestra abajo.
C:\PouchDB_Examples >node Read_All_Document.js
Esto lee todos los documentos que existen en la base de datos denominada my_databaseque se almacena localmente. El siguiente mensaje se muestra en la consola.
[
{
id: '001',
key: '001',
value: { rev: '1-9dc57f5faa7ea90eeec22eba8bfd05f5' }
},
{
id: '002',
key: '002',
value: { rev: '1-9bf80afcedb9f8b5b35567292affb254' }
},
{
id: '003',
key: '003',
value: { rev: '1-1204f108e41bf8baf867856d5da16c57' }
}
]
En general, como se muestra en el resultado anterior, usando allDocs() método puedes ver solo el _id, key y _revcampos de cada documento. Sin embargo, para incluir todo el documento en el resultado, debe hacer el parámetro opcionalinclude_docs verdadero como se muestra a continuación.
//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);
}
});
La ejecución del código anterior le brinda una lista de documentos completos en los documentos especificados como se muestra en el siguiente código.
[
{
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'
}
}
]
Leer un lote de una base de datos remota
También puede recuperar todos los documentos de la base de datos que se almacena de forma remota en el servidor (CouchDB).
Para hacerlo en lugar de un nombre de base de datos, debe pasar la ruta a la base de datos en CouchDB, que contiene el documento que se va a leer.
Ejemplo
Supongamos que hay una base de datos llamada my_databaseen el servidor CouchDB. Luego, si verifica la lista de bases de datos en CouchDB usando la URLhttp://127.0.0.1:5984/_utils/index.html obtendrá la siguiente captura de pantalla.
A continuación se muestra un ejemplo de lectura de todos los documentos que existen en una base de datos denominada my_database que se almacena en el 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);
}
});
Guarde el código anterior en un archivo con el nombre Remote_Read_AllDocument.js. Abra el símbolo del sistema y ejecute el archivo JavaScript usandonode Como se muestra abajo.
C:\PouchDB_Examples >node Remote_Read_AllDocument.js
Esto lee el contenido del documento dado que existe en la base de datos llamada my_database que se almacena en CouchDB y se muestra en la consola como se muestra a continuación.
[
{
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'
}
}
]