The developer guide provides general information about interacting with Couchbase Server.
For specific information about programming for Couchbase Server, refer to the
SDK guides. The SDK guides explain how to set up your development environment and provide language-specific code examples.
Couchbase SDKs have the most capable APIs available for accessing data. They provide a consistent and idiomatic experience for your language.
Click on your language for instructions on setting up a development environment.
Couchbase SDKs attempt to follow common verbs and semantics (as much as the individual language allows). Examples of using SDKs will be demonstrated in Python, but can easily be mimicked in other languages. Many examples are also available in other languages. The full listing of examples can be found at:
Accessing data Developing against a database involves storing items within the database and retrieving them. Storing and retrieving data is collectively referred to as data access.
Connecting Connecting your client SDK to a Couchbase cluster.
Updating and creating documents This section shows how to update documents in Couchbase: using a Couchbase SDK, or through the cbc command line utility.
Retrieving documents Retrieve stored documents from Couchbase
Querying with N1QL You can use the N1QL query language to search and query documents from your applications.
Querying with MapReduce views Couchbase views enable indexing and querying of data.
Advanced connection details How Couchbase SDKs connect to the cluster, and what an application developer or administration should be aware of.
Durability Data durability refers to the fault tolerance and persistence of data in the face of software or hardware failure. Even the most reliable software and hardware might fail at some point, and along with the failures, introduce a chance of data loss.
Document expiration Most data in a database is there to be persisted and long lived. However the need for transient or temporary data does arise in applications, such as in the case of user sessions, caches, or temporary documents representing a given process ownership. You can use expiration values on documents to handle transient data.
Error handling Errors are returned by the SDK if a specific operation could not be executed. Sometimes errors are received directly from the server while other times they are generated internally by the SDK.
Concurrent document mutations You can use the CAS value to control how concurrent document modifications are handled
Batching operations Execute multiple operations in batches to gain higher performance and better network utilization
Reactive asynchronous clients You can use non-blocking programming to better utilize application and network resources and gain overall higher I/O throughput.
Dealing with non-JSON documents Store and retrieve non-JSON ("binary") data with Couchbase