NodeJS和Cassandra CQL无法执行

NodeJS和Cassandra CQL无法执行,cassandra,cql,Cassandra,Cql,我试图通过NodeJS对Cassandra进行简单的SELECT查询 我有一个键空间名为test,我有一个表名为calisanalar select * from test.Calisanlar; 当我尝试在DevCenter中执行此查询时 select * from test.Calisanlar; 出现了错误。因此,当我试图解决这个问题时: select * from test."Calisanlar"; 查询正在成功运行 我想在NodeJS中这样做。这是我的NodeJS代码: var

我试图通过NodeJS对Cassandra进行简单的SELECT查询

我有一个键空间名为test,我有一个表名为calisanalar

select * from test.Calisanlar;
当我尝试在DevCenter中执行此查询时

select * from test.Calisanlar;
出现了错误。因此,当我试图解决这个问题时:

select * from test."Calisanlar";
查询正在成功运行

我想在NodeJS中这样做。这是我的NodeJS代码:

var cql = require('node-cassandra-cql');
var client = new cql.Client({hosts: ['192.168.2.119'], keyspace: 'test', username: 'cassandra', password: 'cassandra'});
client.execute('SELECT * FROM test."Calisanlar";',
  function(err, result) {
    if (err) console.log('execute failed');
    else console.log('got user profile with email ' + result.rows[0]);
  }
); 
client.on('log', function(level, message) {
  console.log('log event: %s -- %j', level, message);
});
输出:

log event: info -- "Opened connection #0"
log event: info -- "Checking next connection"
log event: info -- "connection #0 acquired, executing: SELECT * FROM test.\"Calisanlar\";"
execute failed
所以,我认为问题是由逃逸项引起的。因为“Calisanlar”似乎“Calisanlar\” 我在Javascript中尝试了转义词,但没有效果。并试图逃逸模块。没有什么变化

我如何处理这个问题


谢谢。

err的值是什么?cql的基本语法错误,因为我无法处理转义术语,所以它像“Calisanalar”。它只能是“Calisanlar”。您可以记录错误,而不是执行失败。这可能会有帮助。您好,失败与Javascript转义词有关。但是为什么呢?因为在Cassandra中,如果不使用双引号,但有大写的表名,Cassandra需要它来检测大写的表。我解决了这个问题,但我只是重新生成表,这次的名称只包含小写。但是如果将来我有大写字符呢?我想知道会发生什么事?您可以在输出部分看到主故障。只是它向数据库发送了错误的查询,数据库返回了错误。err的值是多少?cql的基本语法错误,因为我无法处理转义项,所以它看起来像“Calisanlar”。它只能是“Calisanlar”。您可以记录错误,而不是执行失败。这可能会有帮助。您好,失败与Javascript转义词有关。但是为什么呢?因为在Cassandra中,如果不使用双引号,但有大写的表名,Cassandra需要它来检测大写的表。我解决了这个问题,但我只是重新生成表,这次的名称只包含小写。但是如果将来我有大写字符呢?我想知道会发生什么事?您可以在输出部分看到主故障。只是它向数据库发送错误的查询,而数据库返回错误。