gpt4 book ai didi

node.js - Cassandra Node.js 驱动程序不接受破折号分隔的字符串

转载 作者:太空宇宙 更新时间:2023-11-03 22:46:58 24 4
gpt4 key购买 nike

我正在使用this驱动程序作为 cassandra 和我的 Node js 应用程序之间的桥梁。到目前为止,除了以下问题之外,一切似乎都工作正常:

问题我有一列 varchar 类型的列,当我插入其中包含破折号 (-) 的字符串时,cassandra 会抛出错误String did not validate.

我正在使用如下的批处理语句

var queryset_insert_user = {
query: query_insert_user,
params: query_insert_user_params,
hints:[ dataTypes.varchar, dataTypes.varchar, dataTypes.varchar, dataTypes.varchar,
dataTypes.varchar, dataTypes.varchar, dataTypes.varchar]
}

varchar 在哪里

var dataTypes = {};
dataTypes.varchar = 0x000d; //couldn't find how to get this from API itself so just copied value from types.js of cassandra driver.

批处理语句是

var batchQueries = [queryset_insert_iidMetadata, queryset_insert_user];
client.batch(batchQueries,__queryOptions(), function(err, result){
// getting err here...
});

输入参数为:

query2 params are = ["4fde84c173232d25641db25ba1b0","+0012255446633",["1415957771074"],"CGFnzVSuGwkOrVI","NEW","+001","53a985bd-bc28-3768-a1ea-e366409cb996"]

注意当我看到 this 时,我尝试使用提示问题。

如何解决此错误

最佳答案

添加选项prepare: true后,包含dash的字符串可以正常插入到cassandra中。

这是来自 cassandra Node 驱动程序存储库的代码:

// Use query markers (?) and parameters
const query = 'UPDATE users SET birth = ? WHERE key=?';
const params = [ new Date(1942, 10, 1), 'jimi-hendrix' ];
// Set the prepare flag in the query options
client.execute(query, params, { prepare: true })
.then(result => console.log('Row updated on the cluster'));

关于node.js - Cassandra Node.js 驱动程序不接受破折号分隔的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26927187/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com