Getting Started with NodeJS

If you haven’t set up a Riak Node and started it, please visit Running A Cluster first.

To try this flavor of Riak, a working installation of Node.js 0.12 or later is required.

Code for these examples is available here. To run, follow these directions:

git clone git://github.com/basho/riak-nodejs-client-examples
cd riak-nodejs-client-examples
npm install
node ./app.js

Client Setup

Install the Riak Node.js Client through NPM.

Connecting to Riak

Connecting to Riak with the Riak Node.js Client requires creating a new client object and using the callback argument to know when the client is fully initialized:

var Riak = require('basho-riak-client');
var nodes = [
    'riak-test:10017',
    'riak-test:10027',
    'riak-test:10037',
    'riak-test:10047'
];
var client = new Riak.Client(nodes, function (err, c) {
    // NB: at this point the client is fully initialized, and
    // 'client' and 'c' are the same object
});

This creates a new Riak.Client object which handles all the details of tracking active nodes and also provides load balancing. The Riak.Client object is used to send commands to Riak. When your application is completely done with Riak communications, the following method can be used to gracefully shut the client down and exit Node.js:

client.stop(function (err, rslt) {
    // NB: you may wish to check err
    process.exit();
});

Let’s make sure the cluster is online with a Ping request:

var assert = require('assert');

client.ping(function (err, rslt) {
    if (err) {
        throw new Error(err);
    } else {
        // On success, ping returns true
        assert(rslt === true);
    }
});

This is some simple code to test that a node in a Riak cluster is online - we send a simple ping message. Even if the cluster isn’t present, the Riak Node.js Client will return a response message. In the callback it is important to check that your activity was successful by checking the err variable.

We are now ready to start interacting with Riak.

Next Steps

CRUD Operations