我在node-js项目中使用helenus
来获取/设置cassandra中的值。我的表中有一个MapType字段,但是当我从表中检索值时,我得到一个空的键值集。
以下是我的表的架构
CREATE TABLE datapoints (
id uuid PRIMARY KEY,
created_at timestamp,
properties map<text,text>
);
我已使用下面的查询
插入cql
的值
INSERT INTO datapoints (id, properties) VALUES (24053e20-63e9-11e3-8d81-0002a5d5c51b, { 'fruit' : 'apple', 'band' : 'Beatles' });
以下是我的nodejs代码:
var helenus = require('/usr/local/lib/node_modules/helenus')
var pool = new helenus.ConnectionPool({
hosts : ['localhost:9160'],
keyspace : 'mykeyspace',
timeout : 3000
});
pool.connect(function(err, keyspace){
if(err){
console.log("connect me error")
throw(err);
} else {
pool.cql("SELECT * FROM datapoints", [], function(err,results){
console.log("results", results)
results.forEach(function(row){
props = row.get('properties').value;
var id = row.get('id').value;
console.log("properties", props);
console.log("id", id);
});
})
}
});
行console.log("properties", props);
返回一个函数,当我调用该函数时,我得到一个空键值集。请帮忙。
答案 0 :(得分:1)
似乎集合类型的反序列化存在问题。过去提出的拉取请求打破了反序列化。我只是将修复程序推送到应该处理此问题的版本0.6.8
。