PouchDB - Stapel löschen
Sie können eine Reihe von Dokumenten in PouchDB gleichzeitig mit dem löschen bulkDocs()Methode. Dazu müssen Sie ein Array von Dokumenten erstellen, die dort gelöscht werden sollen, wo jedes Dokument enthalten sein soll_id und _rev. Zusätzlich müssen Sie ein weiteres Schlüssel-Wert-Paar hinzufügen_deleted: true.
Angenommen, die Datenbank heißt my_database Das lokal in PouchDB gespeicherte Dokument enthält 3 Dokumente, nämlich doc1, doc2, doc3 mit den folgenden Inhalten.
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'}
Und sagen wir, wir müssen alle drei Dokumente löschen. Dann müssen Sie zuerst ihre bekommen_revWerte. Rufen Sie daher den Inhalt dieser Dokumente mit dem folgenden Code ab.
//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);
}
});
Speichern Sie den obigen Code als bulk_fetch.js. Wenn Sie das obige Programm ausführen, erhalten Sie die Werte _id und _rev der Dokumente in der Datenbank, wie unten gezeigt.
[
{
id: '001',
key: '001',
value: { rev: '1-1604b0c3ff69dc1e261265fd60808404' }
},
{
id: '002',
key: '002',
value: { rev: '1-b5e49db7e984841bf12a13e3ee548125' }
},
{
id: '003',
key: '003',
value: { rev: '1-a7b342786ecc707aa91f3b321a177b51' }
}
]
Jetzt können Sie die Dokumente mit ihren jeweiligen löschen _id und _rev Werte wie unten gezeigt.
//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");
}
});
Speichern Sie den obigen Code in einer Datei mit dem Namen Delete_All_Document.js. Öffnen Sie die Eingabeaufforderung und führen Sie die JavaScript-Datei mit dem unten gezeigten Knoten aus.
C:\PouchDB_Examples >node Delete_All_Document.js
Dadurch werden alle Dokumente gelöscht, die in der genannten Datenbank vorhanden sind my_database die lokal gespeichert wird und die folgende Meldung anzeigt.
Documents Deleted Successfully
Nun, wenn Sie die ausführen bulk_fetch.js Programm können Sie eine leere Klammer auf der Konsole beobachten, die anzeigt, dass die Datenbank leer ist, wie unten gezeigt.
[]
Löschen eines Stapels aus einer entfernten Datenbank
Sie können alle Dokumente aus der Datenbank aktualisieren, die remote auf dem Server (CouchDB) gespeichert ist.
Dazu müssen Sie anstelle eines Datenbanknamens den Pfad zur Datenbank in CouchDB übergeben, die das zu lesende Dokument enthält.
Beispiel
Angenommen, es gibt eine Datenbank mit dem Namen my_databaseauf dem CouchDB-Server. Wenn Sie dann die Liste der Datenbanken in CouchDB mithilfe der URL überprüfenhttp://127.0.0.1:5984/_utils/index.html Sie erhalten den folgenden Screenshot.
Wenn wir die genannte Datenbank auswählen my_databasekönnen Sie beobachten, dass es 3 Dokumente enthält, wie im folgenden Screenshot gezeigt.
Im Folgenden finden Sie ein Beispiel für das Löschen aller Dokumente, die in einer Datenbank mit dem Namen vorhanden sind my_database welches auf dem CouchDB-Server gespeichert ist.
//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");
}
});
Speichern Sie den obigen Code in einer Datei mit Namen Remote_delete_AllDocuments.js. Öffnen Sie die Eingabeaufforderung und führen Sie die JavaScript-Datei mit dem unten gezeigten Knoten aus.
C:\PouchDB_Examples >node Remote_Delete_AllDocuments.js
Dadurch wird der Inhalt aller angegebenen Dokumente gelöscht, die in der genannten Datenbank vorhanden sind my_database Dies wird in CouchDB gespeichert und zeigt die folgende Meldung an.
Documents Deleted Successfully