The Couchbase Node.js SDK, previously known as Couchnode, enables you to interact with Couchbase Server from a Node.js application.
- Couchnode client
- Developer guide (you're reading it now!)
- Couchnode API reference
- Sample applications (beer database, CouchQA)
To debug errors, you must be familiar with the Couchnode architecture to understand where problems might originate. The following components participate in typical operations:
This is the server itself, which stores your data. Errors can happen here if your data does not exist, or if there are connectivity issues with one or more nodes in the server. While Couchbase Server is scalable and fault tolerant, there are naturally some conditions that cause failures (for example, if all nodes are unreachable).
libcouchbase, our C client library, provides the underlying layer that handles network communication and protocol handling between a client and a Couchbase node. Network connectivity issues tend to happen here.
Node.js C++ binding layer
The binding layer contains the C++ code that provides the bulk of the SDK. It interfaces with the libcouchbase component, handles marshaling of information between libcouchbase and your application, performs input validation, and encoding and decoding of keys and values.
To take advantage of all features offered by Couchbase Server, you need to know what version of Couchnode provides compatibility for the features you want to use. The following matrix shows which versions of Couchnode support the major features of each version of Couchbase Server.
|Server 1.8||Server 2.0||Server 2.5||Server 3.0||Server 4.0|
|CRUD Operations||Since 1.0|
|View Querying APIs||Since 1.0|
|Durability Requirements||Since 1.0|
|Fast (CCCP) Bootstrapping||Not Supported||Since 1.2|
|SSL Connectivity||Not Supported||Since 2.0|
|Transparent Compression||Not Supported||Since 2.0|
|Bulk Operations||Since 1.0|
|Cross-SDK Data types||Not Supported||Since 2.0|
|N1QL Querying||Since 1.2|
|Administrative API||Since 1.0|