我使用node.js版本6.9.2和Cassandra 3.9。
我想在创建客户端实例时为我的所有查询设置LOCAL_QUORUM的一致性级别。
根据this documentation,我需要做以下几点。
const client = new Client({ queryOptions: { consistency: types.consistencies.quorum } });
我将仲裁的一致性级别更改为local_quorum。
const client = new Client({ queryOptions: { consistency: types.consistencies.local_quorum } });
但是,当我用这段代码启动我的应用程序时,收到错误。
ReferenceError: types is not defined
因此,在没有完全理解这个含义的情况下,我将文本设置为类型。
const client = new Client({ queryOptions: { consistency: text.consistencies.local_quorum } });
我收到了另一个错误。
ReferenceError: text is not defined
我的问题是:
types
的价值应该是什么?
是否需要将quorum
更改为local_quorum
以保持LOCAL_QUORUM的一致性级别?如果不是,那么将LOCAL_QUORUM分配给我的查询的正确方法是什么?
答案 0 :(得分:3)
如果我没记错的话,类型一致性应该是types.consistencies.localQuorum
:)
添加更多信息: 类型是在访问它的驱动程序要求内,您需要在
之前声明它const cassandra = require('cassandra-driver');
const client = new cassandra.Client({ contactPoints: ['host1'] });
client.connect(function (err) {
assert.ifError(err);
client.execute(query, params, { consistency: cassandra.types.consistencies.localQuorum }, function (err) {
//This callback will be called once it has been written in the number of replicas
//satisfying the consistency level specified.
});
});