刚刚安装了Cassandra(3.11.1)和Datastax node.js驱动程序(3.3.0)。
创建了一个简单的结构:
CREATE KEYSPACE CaseBox
WITH REPLICATION={
'class': 'SimpleStrategy',
'replication_factor': 1};
USE CaseBox;
CREATE TABLE Regions (
regionId int,
name varchar,
PRIMARY KEY ((regionId))
);
尝试连接到键空间没有成功:
const client = new cassandra.Client({
contactPoints: ['localhost'],
keyspace: 'CaseBox'
});
await client.connect();
错误:
Keyspace 'CaseBox' does not exist
。如果我将所需的kayspace更改为
system
,它将起作用。怎么了?请协助。
您可以找到我的完整Cassandra配置,CQL和js脚本here。
最佳答案
Keyspace names are forced lower case when unquoted in CQL。
在CQL中使用CREATE KEYSPACE "CaseBox"
或在Node中使用keyspace: 'casebox'
。
通常只使用snake_case
名称,因为您不会经常被困住。