This operation erases an individual item from the data store for a
given key. In some SDKs you can specifically check a item'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 item, 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 6.2, “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 item for some SDKs you can provide CAS value for
the item 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 item 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.