Skip to content
Couchbase Node.js Client Library (Official)
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
deps/lcb SDK 3.0 Initial Commit Apr 12, 2019
lib SDK 3.0 Initial Commit Apr 12, 2019
src SDK 3.0 Initial Commit Apr 12, 2019
.clang-format Improved auto-formatting configuration. Feb 8, 2019
.istanbul.yml Mass 2.0 Refactor Aug 5, 2014
.jsbeautifyrc Apply consistent code formatting. Jul 27, 2018
.jshintrc Mass 2.0 Refactor Aug 5, 2014
.npmignore SDK 3.0 Initial Commit Apr 12, 2019
LICENSE Add the first implementation of the library Aug 2, 2012
Makefile SDK 3.0 Initial Commit Apr 12, 2019 SDK 3.0 Initial Commit Apr 12, 2019
binding.gyp SDK 3.0 Initial Commit Apr 12, 2019
package-lock.json SDK 3.0 Initial Commit Apr 12, 2019
package.json SDK 3.0 Initial Commit Apr 12, 2019

Couchbase Node.js Client

The Node.js SDK library allows you to connect to a Couchbase cluster from Node.js. It is a native Node.js module and uses the very fast libcouchbase library to handle communicating to the cluster over the Couchbase binary protocol.

Useful Links

Source -

Bug Tracker -

Couchbase Developer Portal -

Release Notes -


To install the lastest release using npm, run:

npm install couchbase

To install the development version directly from github, run:

npm install "git+"


Connecting to a Couchbase bucket is as simple as creating a new Cluster instance to represent the Cluster you are using, and then using the bucket and collection commands against this to open a connection to open your specific bucket and collection. You are able to execute most operations immediately, and they will be queued until the connection is successfully established.

Here is a simple example of instantiating a connection, adding a new document into the bucket and then retrieving its contents:

var couchbase = require('couchbase');
var cluster = new couchbase.Cluster('couchbase://', {
  username: 'username',
  password: 'password',
var bucket = cluster.bucket('default');
var coll = bucket.defaultCollection();

coll.upsert('testdoc', {name:'Frank'}, (err, res) => {
  if (err) throw err;

  coll.get('testdoc', (err, res) => {
    if (err) throw err;

    // {name: Frank}


An extensive documentation is available on the Couchbase website. Visit our Node.js Community on the Couchbase website for the documentation as well as numerous examples and samples.

Source Control

The source code is available at Once you have cloned the repository, you may contribute changes through our gerrit server. For more details see

To execute our test suite, run make test from the root directory.

To execute our code coverage, run make cover from the root directory.

In addition to the full test suite and full code coverage, you may additionally execute a subset of the tests which excludes slow-running tests for quick verifications. These can be run through make fasttest and make fastcover respectively.


Copyright 2013 Couchbase Inc.

Licensed under the Apache License, Version 2.0.

See LICENSE for further details.

You can’t perform that action at this time.