node-cassandra-cql -


MIT/X
跨平台
JavaScript

软件简介

node-cassandra-cql 是一个 Apache Cassandra
CQL3 二进制协议的 Node.js CQL 驱动。CQL 是 Cassandra
的查询语言。该项目提供到多个主机的连接池、查询参数,以及可通过列名获取数值和支持 bigint。

示例代码:

// Creating a new connection pool to multiple hosts.
var cql = require('node-cassandra-cql');
var client = new cql.Client({hosts: ['host1:9042', 'host2:9042'], keyspace: 'keyspace1'});
// Reading
client.execute('SELECT key, email, last_name FROM user_profiles WHERE key=?', ['jbay'],
  function(err, result) {
    if (err) console.log('execute failed');
    else console.log('got user profile with email ' + result.rows[0].get('email'));
  }
);

// Writing
client.execute('UPDATE user_profiles SET birth=? WHERE key=?', [new Date(1950, 5, 1), 'jbay'], 
  cql.types.consistencies.quorum,
  function(err) {
    if (err) console.log("failure");
    else console.log("success");
  }
);

// Streaming query rows
client.streamRows('SELECT event_time, temperature FROM temperature WHERE station_id=', ['abc'], 
  function(err, row) {
    //the callback will be invoked per each row as soon as they are received
    if (err) console.log("Oh dear...");
    else {
      console.log('temperature value', row.get('temperature'));
    }
  }
);

// Streaming field
client.streamField('SELECT key, photo FROM user_profiles WHERE key=', ['jbay'], 
  function(err, row, photoStream) {
    //the callback will be invoked per each row as soon as they are received.
    if (err) console.log("Shame...");
    else {
      //The stream is a Readable Stream2 object
      stdout.pipe(photoStream);
    }
  }
);