Skip to content

WriteableCollection.delete()

David Fahlander edited this page Apr 16, 2014 · 29 revisions

Deletes all objects in the query.

Syntax

collection.delete()

Return Value

Promise where result is an array of arrays [key, value] of all deleted objects.

Error Handling

If any object fails to be deleted or an exception occur in a callback function, entire operation will fail and transaction will be aborted.

If you catch the returned Promise, transaction will not abort, and you recieve a Dexie.MultiModifyError error object containing the following properties:

failures Array of Error objects of all errors that have occurred
successCount Number of successful deletions made.

If you do NOT catch the returned Promise, and an error occur, the transaction will be aborted.

If you want to log the error but still abort the transaction, you must encapsulate the operation in a transaction() block and catch the transaction instead. It is also possible to catch the operation and call transaction.abort() in the catch() clause.

Sample

db.orders.where("state").anyOf("finished", "discarded").or("date").below("2014-02-01").delete()
         .then(function (deleteCount) {
             console.log( "Deleted " + deleteCount + " objects"):
         });

Remarks

delete() method is equivalent to:

collection.modify(function () {delete this.value;});
Clone this wiki locally