docs/_includes/api/delete_document.html
{% include anchor.html edit="true" title="Delete a document" hash="delete_document"%} {% highlight "js" %} db.remove(doc, [options], [callback]) {% endhighlight %} Or: {% highlight "js" %} db.remove(docId, docRev, [options], [callback]) {% endhighlight %} Deletes the document. doc is required to be a document with at least an _id and a _rev property. Sending the full document will work as well. See [filtered replication]({{ site.baseurl }}/api.html#filtered-replication) for why you might want to use put() with {_deleted: true} instead. #### Example Usage: {% include code/start.html id="delete_doc" type="callback" %} {% highlight "js" %} db.get('mydoc', function(err, doc) { if (err) { return console.log(err); } db.remove(doc, function(err, response) { if (err) { return console.log(err); } // handle response }); }); {% endhighlight %} {% include code/end.html %} {% include code/start.html id="delete_doc" type="async" %} {% highlight "js" %} try { const doc = await db.get('mydoc'); const response = await db.remove(doc); } catch (err) { console.log(err); } {% endhighlight %} {% include code/end.html %} {% include code/start.html id="delete_doc" type="promise" %} {% highlight "js" %} db.get('mydoc').then(function(doc) { return db.remove(doc); }).then(function (result) { // handle result }).catch(function (err) { console.log(err); }); {% endhighlight %} {% include code/end.html %} #### Example Response: {% highlight "js" %} { "ok": true, "id": "mydoc", "rev": "2-9AF304BE281790604D1D8A4B0F4C9ADB" } {% endhighlight %} You can also delete a document by just providing an id and rev: {% include code/start.html id="delete_doc3" type="callback" %} {% highlight "js" %} db.get('mydoc', function(err, doc) { if (err) { return console.log(err); } db.remove(doc._id, doc._rev, function(err, response) { if (err) { return console.log(err); } // handle response }); }); {% endhighlight %} {% include code/end.html %} {% include code/start.html id="delete_doc3" type="async" %} {% highlight "js" %} try { const doc = await db.get('mydoc'); const response = await db.remove(doc._id, doc._rev); } catch (err) { console.log(err); } {% endhighlight %} {% include code/end.html %} {% include code/start.html id="delete_doc3" type="promise" %} {% highlight "js" %} db.get('mydoc').then(function(doc) { return db.remove(doc._id, doc._rev); }).then(function (result) { // handle result }).catch(function (err) { console.log(err); }); {% endhighlight %} {% include code/end.html %} You can also delete a document by using put() with {_deleted: true}: {% include code/start.html id="delete_doc2" type="callback" %} {% highlight "js" %} db.get('mydoc', function(err, doc) { if (err) { return console.log(err); } doc._deleted = true; db.put(doc, function(err, response) { if (err) { return console.log(err); } // handle response }); }); {% endhighlight %} {% include code/end.html %} {% include code/start.html id="delete_doc2" type="async" %} {% highlight "js" %} try { const doc = await db.get('mydoc'); doc._deleted = true; const result = await db.put(doc); } catch (err) { console.log(err); } {% endhighlight %} {% include code/end.html %} {% include code/start.html id="delete_doc2" type="promise" %} {% highlight "js" %} db.get('mydoc').then(function(doc) { doc._deleted = true; return db.put(doc); }).then(function (result) { // handle result }).catch(function (err) { console.log(err); }); {% endhighlight %} {% include code/end.html %}