在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