This operation erases an individual document from the data store
for a given key. In some SDKs you can specifically check a
document's CAS value, a unique identifier, and if the number
provided as a delete parameter does not
match the deletion will fail and return an error. If Couchbase
Server successfully deletes a document, it returns a status code
indicating success or failure.
It is important to note that in some SDK's such as in Ruby, a
delete can be performed in synchronous or
asynchronous mode; in contrast other SDK's such as Java support
delete as an asynchronous operation only.
Consult your respective language reference to find out more about
your chosen SDK. For more information about asynchronous calls in
Couchbase SDKs, see
Section 7.3, “Synchronous and Asynchronous Transactions”
The following example demonstrates a
delete in Ruby. In this case, parameters
can be provided to check the unique identifier for a value, so
that if there is mismatch, the delete
fails:
# returns the cas/unique identifier on set and assigns to ver ver = c.set("foo", "bar") # cas mismatch, raises Couchbase::Error::KeyExists c.delete("foo", :cas => 123456) #returns true c.delete("foo", :cas => ver)
When you delete a document for some SDKs you can provide CAS value
for the document in order for delete to
succeed. As in other update methods, you can obtain the CAS value
by performing a get-with-CAS operation and then pass the CAS value
as a parameter:
#returns value, flags and cas val, flags, cas = client.get("rec1", :extended => true) #removes document as cas operation client.delete("rec1", :cas => cas)
The memcached protocol equivalents for this method is
delete. For more information about the
underlying protocol, see
memcached
protocol.