我正在使用node-cassandra-cql驱动程序(https://github.com/jorgebay/node-cassandra-cql)对cassandra列族进行样本选择。
我的cf有三列数据类型:
1 - value -> text
2 - date -> timestamp
3 - hits -> counter
使用nodeJS获取行:
client.execute('SELECT date,value,hits FROM cf LIMIT 100', [],
function(err, result) {
if(err){
var error = {error:true,message:err};
res.send(error);
}
else{
var trends = {};
for(var i=0;i<result.rows.length;i++){
var row = result.rows[i];
console.log(row.date);
console.log(row.hits);
}
}
}
);
控制台日志告诉我:
{
"low": 1342763392,
"high": 323,
"unsigned": false
}
{
"low": 1,
"high": 0,
"unsigned": false
}
我需要做些什么来获得正确的价值?
谢谢!
答案 0 :(得分:4)
Cassandra计数器列值是一个64位有符号整数(bigints),在Node.js驱动程序中表示为Google Closure's Long。
要获取bigint十进制值的字符串表示形式,可以使用#toString()方法。
//"1", "2", ...
row.hits.toString();
答案 1 :(得分:0)
执行COUNT(*)时,jorgebg的回答也适用。
例如: SELECT COUNT(*)FROM my_table;
在这种情况下提取我使用的值: result.rows [0] .count.toString();