【发布时间】:2013-08-15 15:13:45
【问题描述】:
我在 Cassandra 中有一个 CQL3 表,如下所示:
CREATE TABLE table (
usr text,
box text,
uidseq map<bigint, text>,
PRIMARY KEY (usr, box)
)
我在 cqlsh 中这样查询:
select uidseq from table WHERE usr = 'usr' AND box = 'box';
uidseq
------------------
{1: 'a', 2: 'a'}
看起来很棒,直到我通过 Helenus 包对 node.js 和 JSON.stringify 运行相同的查询,然后返回结果值并将其取回:
[0,2,0,8,0,0,0,0,0,0,0,1,0,1,97,0,8,0,0,0,0,0,0,0,2,0,1,97]
我测试了 Helenus 返回的值,它确实作为一个对象返回,所以我不确定我在哪里出错了?
【问题讨论】:
-
好的,所以现在我的日志显示 uidseq 的值是一个缓冲区(
)。使用 toString('utf-8') 将其转换为字符串,我得到了字母 a。说什么? -
您是否尝试过使用the Node.js driver for CQL?它将地图作为 Javascript 对象(键/值)返回。免责声明:我是该项目的开发人员
标签: javascript node.js cassandra cql3