PouchDB - Fetch Batch
Możesz czytać / pobierać wiele / zbiorczo dokumentów z bazy danych w PouchDB za pomocą rozszerzenia allDocs() metoda.
Składnia
Poniżej znajduje się składnia używania db.allDocs()metoda PouchDB. Ta metoda akceptuje opcjonalną funkcję zwrotną.
db.allDocs()
Przykład
Poniżej znajduje się przykład pobierania wszystkich dokumentów w bazie danych o nazwie my_database który jest przechowywany lokalnie przy użyciu db.allDocs()metoda. Ta metoda pobiera tablicę dokumentów w postaci obiektów, aby uzyskać zawartość każdego dokumentu, który należy wywołać jakodocs.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);
}
});
Zapisz powyższy kod w pliku o nazwie Read_All_Document.js. Otwórz wiersz polecenia i uruchom plik JavaScript za pomocąnode jak pokazano niżej.
C:\PouchDB_Examples >node Read_All_Document.js
Odczytuje wszystkie dokumenty, które istnieją w wymienionej bazie danych my_databasektóry jest przechowywany lokalnie. Na konsoli zostanie wyświetlony następujący komunikat.
[
{
id: '001',
key: '001',
value: { rev: '1-9dc57f5faa7ea90eeec22eba8bfd05f5' }
},
{
id: '002',
key: '002',
value: { rev: '1-9bf80afcedb9f8b5b35567292affb254' }
},
{
id: '003',
key: '003',
value: { rev: '1-1204f108e41bf8baf867856d5da16c57' }
}
]
Ogólnie, jak pokazano w powyższym wyniku, użycie allDocs() możesz zobaczyć tylko _id, key i _revpola każdego dokumentu. Jednak aby uwzględnić cały dokument w wyniku, musisz wprowadzić opcjonalny parametrinclude_docs prawda, jak pokazano poniżej.
//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);
}
});
Wykonanie powyższego kodu daje listę kompletnych dokumentów w określonych dokumentach, jak pokazano w poniższym kodzie.
[
{
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'
}
}
]
Odczytywanie wsadu ze zdalnej bazy danych
Możesz także pobrać wszystkie dokumenty z bazy danych, która jest zdalnie przechowywana na serwerze (CouchDB).
W tym celu zamiast nazwy bazy danych należy podać ścieżkę do bazy danych w CouchDB, która zawiera dokument, który ma zostać odczytany.
Przykład
Załóżmy, że istnieje baza danych o nazwie my_databasena serwerze CouchDB. Następnie, jeśli zweryfikujesz listę baz danych w CouchDB za pomocą adresu URLhttp://127.0.0.1:5984/_utils/index.html otrzymasz następujący zrzut ekranu.
Poniżej znajduje się przykład odczytu wszystkich dokumentów, które istnieją w bazie danych o nazwie my_database który jest przechowywany na serwerze 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);
}
});
Zapisz powyższy kod w pliku o nazwie Remote_Read_AllDocument.js. Otwórz wiersz polecenia i uruchom plik JavaScript za pomocąnode jak pokazano niżej.
C:\PouchDB_Examples >node Remote_Read_AllDocument.js
Odczytuje zawartość podanego dokumentu, który istnieje w nazwie bazy danych my_database który jest przechowywany w CouchDB i wyświetlany na konsoli, jak pokazano poniżej.
[
{
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'
}
}
]