Search:

Search all manuals
Search this manual
Manual
Couchbase Developer's Guide 1.8
Additional Resources
Community Wiki
Community Forums
Couchbase SDKs
Parent Section
2 Using Couchbase SDKs
Chapter Sections
Chapters

2.10. Deleting Information

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.