最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何正确更新类型为 map<boolean, int> 的列?

网站源码admin33浏览0评论

如何正确更新类型为 map<boolean, int> 的列?

如何正确更新类型为 map<boolean, int> 的列?

我在 Cassandra 中有下表:

CREATE TABLE my_table (
    id int,
    map_bool_int_col MAP<boolean, int>,
    PRIMARY KEY (id)
);

根据 cassandra Node.js 驱动程序文档 我可以使用 js 对象更新具有映射类型的列。
所以我尝试发送以下查询:

client.execute("UPDATE my_table SET map_bool_int_col = ? WHERE id = ?", [{"false": 1, "true": 2}, 1], {prepare: true});

执行上面的代码后,列有值

{true: 2}

,假钥匙就这样消失了。
我尝试发送

{false: 1, true: 2}
对象,结果是一样的。我想是因为所有对象键仍然是字符串。
我有点设法通过发送此对象
{"": 1, "true": 2}
来更新具有错误值的列 - 因此它将空字符串转换为错误。但是发送空字符串而不是布尔值似乎不对。
还有另一种方法可以使用 cassandra nodejs 驱动程序使用假键更新具有此类类型的列吗?

回答如下:

在这种情况下,地图的编码发生了一些奇怪的事情。我已提交 NODEJS-650 以进一步调查此问题。

发布评论

评论列表(0)

  1. 暂无评论