PouchDB - Elimina batch
Puoi eliminare un array di documenti in PouchDB contemporaneamente utilizzando il file bulkDocs()metodo. Per fare ciò è necessario creare un array di documenti che devono essere eliminati dove, ogni documento dovrebbe contenere_id e _rev. Oltre a questi, devi aggiungere un'altra coppia chiave-valore_deleted: true.
Supponiamo che il database denominato my_database che è memorizzato localmente in PouchDB contiene 3 documenti cioè doc1, doc2, doc3 con i seguenti contenuti.
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'}
E diciamo, dobbiamo eliminare tutti e tre i documenti. Quindi, prima di tutto devi ottenere il loro_revvalori. Pertanto, recuperare il contenuto di questi documenti utilizzando il codice seguente.
//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);
}
});
Salva il codice sopra come bulk_fetch.js. L'esecuzione del programma precedente fornisce i valori _id e _rev dei documenti nel database come mostrato di seguito.
[
{
id: '001',
key: '001',
value: { rev: '1-1604b0c3ff69dc1e261265fd60808404' }
},
{
id: '002',
key: '002',
value: { rev: '1-b5e49db7e984841bf12a13e3ee548125' }
},
{
id: '003',
key: '003',
value: { rev: '1-a7b342786ecc707aa91f3b321a177b51' }
}
]
Ora puoi eliminare i documenti utilizzando i rispettivi file _id e _rev valori come mostrato di seguito.
//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");
}
});
Salva il codice sopra in un file con il nome Delete_All_Document.js. Apri il prompt dei comandi ed esegui il file JavaScript utilizzando il nodo come mostrato di seguito.
C:\PouchDB_Examples >node Delete_All_Document.js
Questo elimina tutti i documenti esistenti nel database denominato my_database che è memorizzato localmente, visualizzando il seguente messaggio.
Documents Deleted Successfully
Ora, se esegui il file bulk_fetch.js programma, è possibile osservare una parentesi graffa vuota sulla console che indica che il database è vuoto, come mostrato di seguito.
[]
Eliminazione di batch da un database remoto
È possibile aggiornare tutti i documenti dal database archiviato in remoto sul server (CouchDB).
Per fare ciò, invece del nome di un database, è necessario passare il percorso al database in CouchDB, che contiene il documento da leggere.
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.
Se selezioniamo il database denominato my_database, puoi osservare che contiene 3 documenti come mostrato nello screenshot seguente.
Di seguito è riportato un esempio di eliminazione di tutti i documenti presenti 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');
//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");
}
});
Salva il codice sopra in un file con nome Remote_delete_AllDocuments.js. Apri il prompt dei comandi ed esegui il file JavaScript utilizzando il nodo come mostrato di seguito.
C:\PouchDB_Examples >node Remote_Delete_AllDocuments.js
Questo elimina il contenuto di tutto il documento dato che esiste nel database denominato my_database che è memorizzato in CouchDB e visualizza il seguente messaggio.
Documents Deleted Successfully