You can delete a document from a database that exists in PouchDB using the db.remove() method.
Following is the syntax of using the db.remove() method of PouchDB. To this method, we have to pass id and _rev to delete an existing document as shown in the following code. This method accepts an optional callback function. We can also pass the complete document instead of id and _rev.
db. get ( docId, docRev, [callback] ) or db. get ( docId, docRev, [callback] )
Assume we have a document in PouchDB with id 001 which have the details of a person. In order to delete this document along with its id we should also have its _rev number. Therefore, retrieve the contents of the document as shown in the following code.
//Requiring the package var PouchDB = require('PouchDB'); //Creating the database object var db = new PouchDB('my_database'); //Reading the contents of a Document db.get('001', function(err, doc) { if (err) { return console.log(err); } else { console.log(doc); } });
Executing the above code gives the following output.
{ _id: '001', _rev: '3-552920d1ca372986fad7b996ce365f5d', name: 'Raju', age: 23, designation: 'Designer' }
Now, using the _rev and id of the document you can delete this by using the remove() method as shown in the following code.
//Requiring the package var PouchDB = require('PouchDB'); //Creating the database object var db = new PouchDB('my_database'); //Deleting an existing document db.remove('001', '3-552920d1ca372986fad7b996ce365f5d', function(err) { if (err) { return console.log(err); } else { console.log("Document deleted successfully"); } });
Save the above code in a file with the name Delete_Document.js. Open the command prompt and execute the JavaScript file using node as shown below.
C:\PouchDB_Examples >node Delete_Document.js
This deletes the contents of the given document that exists in the database named my_database which is stored locally. The following message is displayed.
Document deleted successfully
You can also delete an existing document from the database that is stored remotely on the server (CouchDB).
To do so, instead of a database name, you need to pass the path to the database in CouchDB, which contains the document that is to be read.
Suppose there is a database named my_database in the CouchDB server. Then, if you verify the list of databases in CouchDB using the URL http://127.0.0.1:5984/_utils/index.html you will get the following screenshot.
By clicking on the database named my_database you can see the following screenshot. Here, you can observe that the database contains a document with id 001.
Following is an example of deleting the contents of the document having id “001” that exists in a database named my_database which is stored in the CouchDB server.
//Requiring the package var PouchDB = require('PouchDB'); //Creating the database object var db = new PouchDB('http://localhost:5984/my_database'); //Deleting an existing document db.remove('001', '3-552920d1ca372986fad7b996ce365f5d', function(err) { if (err) { return console.log(err); } else { console.log("Document deleted successfully"); } });
Save the above code in a file with name Remote_Delete_Document.js. Open the command prompt and execute the JavaScript file using node as shown below.
C:\PouchDB_Examples >node Remote_Delete_Document.js
This deletes the given document that exists in the database named my_database which is stored in CouchDB. The following message is displayed.
Document deleted successfully