Javascript 将Cassandra中的用户定义类型与nodejs一起使用
我正在尝试将Cassandra中的用户定义类型与nodejs一起使用。 根据文档,我成功地在cqlsh()中完成了这项工作。我设法在cqlsh中插入项目,但没有使用Javascript 将Cassandra中的用户定义类型与nodejs一起使用,javascript,node.js,cassandra,Javascript,Node.js,Cassandra,我正在尝试将Cassandra中的用户定义类型与nodejs一起使用。 根据文档,我成功地在cqlsh()中完成了这项工作。我设法在cqlsh中插入项目,但没有使用cassandra驱动程序模块 我知道javascript()的使用有一些复杂之处,我也尝试过提供的不同选项,但我无法让它工作 以下是我的试用及其产生的错误消息: var insertQuery = 'INSERT INTO mykeyspace.users (id, name) VALUES (?, ?)' client.exec
cassandra驱动程序
模块
我知道javascript()的使用有一些复杂之处,我也尝试过提供的不同选项,但我无法让它工作
以下是我的试用及其产生的错误消息:
var insertQuery = 'INSERT INTO mykeyspace.users (id, name) VALUES (?, ?)'
client.execute(insertQuery, ['62c36092-82a1-3a00-93r1-46196ee77204', { firstname: 'paul', lastname: 'jacques'}], {hints: ['uuid', 'map<text, text>']}, function(err) { console.log(err);})
那么让它工作的正确语法是什么
注意。我使用的是cassandra 2.1.1DataStax Node.js驱动程序还不支持用户定义的类型,因此驱动程序将无法相应地序列化数据 您可以在CQL中使用json符号来访问各个字段。例如,类似以下的查询将起作用:
SELECT addr.street, addr.city FROM location WHERE id=?;
或
谢谢,那么存储嵌套json对象的首选方法是什么?我目前正在使用BLOB,但这使得查询缓冲列变得不可能,更新成本更高……冻结udt用于小对象,如果您可以使用我在回答中包含的json符号,您应该使用它(稍后您可以使用驱动程序级udt)。如果需要大型对象,可以使用多个柱,也可以使用其他柱族。
SELECT addr.street, addr.city FROM location WHERE id=?;
UPDATE SET addr['street'] = ?, addr['city'] = ? WHERE id = ?