PouchDB - Usuń pakiet
Możesz jednocześnie usunąć tablicę dokumentów w PouchDB za pomocą bulkDocs()metoda. Aby to zrobić, musisz utworzyć tablicę dokumentów, które mają zostać usunięte, gdzie każdy dokument powinien zawierać_id i _rev. Oprócz tego musisz dodać kolejną parę klucz-wartość_deleted: true.
Załóżmy, że baza danych o nazwie my_database który jest przechowywany lokalnie w PouchDB zawiera 3 dokumenty, mianowicie doc1, doc2, doc3 z następującą zawartością.
doc1 = {_id: '001', name: 'Ram', age: 23, Designation: 'Programmer'}
doc2 = {_id: '002', name: 'Robert', age: 24, Designation: 'Programmer'}
doc3 = {_id: '003', name: 'Rahim', age: 25, Designation: 'Programmer'}
Powiedzmy, że musimy usunąć wszystkie trzy dokumenty. Następnie przede wszystkim musisz zdobyć ich_revwartości. Dlatego pobierz zawartość tych dokumentów przy użyciu następującego kodu.
//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);
}
});
Zapisz powyższy kod jako bulk_fetch.js. Wykonanie powyższego programu daje wartości _id i _rev dokumentów w bazie danych, jak pokazano poniżej.
[
{
id: '001',
key: '001',
value: { rev: '1-1604b0c3ff69dc1e261265fd60808404' }
},
{
id: '002',
key: '002',
value: { rev: '1-b5e49db7e984841bf12a13e3ee548125' }
},
{
id: '003',
key: '003',
value: { rev: '1-a7b342786ecc707aa91f3b321a177b51' }
}
]
Teraz możesz usunąć dokumenty, używając ich odpowiednich _id i _rev wartości, jak pokazano poniżej.
//Requiring the package
var PouchDB = require('PouchDB');
//Creating the database object
var db = new PouchDB('my_database');
//Preparing the document
docs = [{_id : '001', _rev: '2-77f3a9974dd578d12f3f2a33aae64c8d', _deleted : true },
{_id : '002', _rev: '2-43966007568ce9567c96422195fcfa0d', _deleted : true },
{_id : '003', _rev: '2-6c5349652527f4f39583ff14f23cd677',_deleted : true }]
//Deleting Documents
db.bulkDocs(docs, function(err, response) {
if (err) {
return console.log(err);
} else {
console.log(response+"Documents deleted Successfully");
}
});
Zapisz powyższy kod w pliku o nazwie Delete_All_Document.js. Otwórz wiersz polecenia i uruchom plik JavaScript za pomocą węzła, jak pokazano poniżej.
C:\PouchDB_Examples >node Delete_All_Document.js
Spowoduje to usunięcie wszystkich dokumentów znajdujących się w wymienionej bazie danych my_database który jest przechowywany lokalnie, wyświetlając następujący komunikat.
Documents Deleted Successfully
Teraz, jeśli wykonasz bulk_fetch.js program, możesz zaobserwować pusty nawias na konsoli wskazujący, że baza danych jest pusta, jak pokazano poniżej.
[]
Usuwanie wsadu ze zdalnej bazy danych
Możesz zaktualizować 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 w CouchDB, w której znajduje się dokument przeznaczony do odczytania.
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.
Jeśli wybierzemy bazę danych o nazwie my_databasewidać, że zawiera 3 dokumenty, jak pokazano na poniższym zrzucie ekranu.
Poniżej znajduje się przykład usunięcia 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');
//Preparing the document
docs = [{_id : '001', _rev: '4-6bc8d9c7a60fed2ed1667ec0740c1f39', _deleted : true },
{_id : '002', _rev: '2-1aa24ce77d96bb9d2a0675cdf1e113e0', _deleted : true },
{_id : '003', _rev: '2-fa113149ba618eda77f73072974a2bc1',_deleted : true }]
//Deleting Documents
db.bulkDocs(docs, function(err, response) {
if (err) {
return console.log(err);
} else {
console.log("Documents deleted Successfully");
}
});
Zapisz powyższy kod w pliku o nazwie Remote_delete_AllDocuments.js. Otwórz wiersz polecenia i uruchom plik JavaScript za pomocą węzła, jak pokazano poniżej.
C:\PouchDB_Examples >node Remote_Delete_AllDocuments.js
Spowoduje to usunięcie zawartości całego podanego dokumentu, który istnieje w wymienionej bazie danych my_database który jest przechowywany w CouchDB i wyświetla następujący komunikat.
Documents Deleted Successfully