PouchDB - Supprimer le lot
Vous pouvez supprimer un tableau de documents dans PouchDB à la fois en utilisant le bulkDocs()méthode. Pour ce faire, vous devez créer un tableau de documents qui doivent être supprimés où, chaque document doit contenir_id et _rev. En plus de cela, vous devez ajouter une autre paire clé-valeur_deleted: true.
Supposons que la base de données nommée my_database qui est stocké localement dans PouchDB contient 3 documents à savoir doc1, doc2, doc3 avec le contenu suivant.
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'}
Et disons, nous devons supprimer les trois documents. Ensuite, vous devez tout d'abord obtenir leur_revvaleurs. Par conséquent, récupérez le contenu de ces documents à l'aide du code suivant.
//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);
}
});
Enregistrez le code ci-dessus sous bulk_fetch.js. L'exécution du programme ci-dessus vous donne les valeurs _id et _rev des documents de la base de données comme indiqué ci-dessous.
[
{
id: '001',
key: '001',
value: { rev: '1-1604b0c3ff69dc1e261265fd60808404' }
},
{
id: '002',
key: '002',
value: { rev: '1-b5e49db7e984841bf12a13e3ee548125' }
},
{
id: '003',
key: '003',
value: { rev: '1-a7b342786ecc707aa91f3b321a177b51' }
}
]
Désormais, vous pouvez supprimer les documents en utilisant leurs _id et _rev valeurs comme indiqué ci-dessous.
//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");
}
});
Enregistrez le code ci-dessus dans un fichier avec le nom Delete_All_Document.js. Ouvrez l'invite de commande et exécutez le fichier JavaScript à l'aide du nœud comme indiqué ci-dessous.
C:\PouchDB_Examples >node Delete_All_Document.js
Cela supprime tous les documents qui existent dans la base de données nommée my_database qui est stocké localement, affichant le message suivant.
Documents Deleted Successfully
Maintenant, si vous exécutez le bulk_fetch.js programme, vous pouvez observer une accolade vide sur la console indiquant que la base de données est vide, comme indiqué ci-dessous.
[]
Suppression d'un lot d'une base de données distante
Vous pouvez mettre à jour tous les documents de la base de données stockée à distance sur le serveur (CouchDB).
Pour ce faire, au lieu d'un nom de base de données, vous devez transmettre le chemin d'accès à la base de données dans CouchDB, qui contient le document à lire.
Exemple
Supposons qu'il existe une base de données nommée my_databasedans le serveur CouchDB. Ensuite, si vous vérifiez la liste des bases de données dans CouchDB à l'aide de l'URLhttp://127.0.0.1:5984/_utils/index.html vous obtiendrez la capture d'écran suivante.
![](https://assets.edu.lat/pouchdb/images/deleting_batch_from_remote_database.jpg)
Si nous sélectionnons la base de données nommée my_database, vous pouvez observer qu'il contient 3 documents comme le montre la capture d'écran suivante.
![](https://assets.edu.lat/pouchdb/images/deleting_batch.jpg)
Voici un exemple de suppression de tous les documents qui existent dans une base de données nommée my_database qui est stocké sur le serveur 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");
}
});
Enregistrez le code ci-dessus dans un fichier avec un nom Remote_delete_AllDocuments.js. Ouvrez l'invite de commande et exécutez le fichier JavaScript à l'aide du nœud comme indiqué ci-dessous.
C:\PouchDB_Examples >node Remote_Delete_AllDocuments.js
Cela supprime le contenu de tous les documents donnés qui existent dans la base de données nommée my_database qui est stocké dans CouchDB et affiche le message suivant.
Documents Deleted Successfully