在CQL查询中更改Helenus一致性级别
我正在用Cassandra和Node.JS驱动程序Helenus做一些testing。 有没有办法改变一个查询的一致性级别,使用CQL?
Helenus文档仅显示使用Helenus Thrift连接器执行此操作的示例,但我想使用CQL连接器。
我试图像这样查询Cassandra
conn.cql(cqlRead, vals, {ConsistencyLevel:ANY, gzip:true}, cb);
但节点抛出这个错误
ReferenceError: ANY is not defined
然后,我将“ANY”更改为“1”,节点运行代码,但没有发现任何差异。
问题是你不能使用CL.ANY读取,只能写入。 ANY表示将提交日志写入成功,即使没有任何副本可用。 由于提交日志不能被查询读取,所以使用CL.ANY来读取是没有意义的,所以Cassandra不会让你。
我已经看到Helenus文档,并且以这种方式设定了一致性
cf.get('foo', {consistency:helenus.ConsistencyLevel.ONE}, function(err, row){ // Your code here })
你有没有尝试一致性:helenus.ConsistencyLevel.ANY。 我认为你可能会得到另一个不同于ReferenceError