【发布时间】:2017-09-23 00:18:03
【问题描述】:
我在向我的 Cassandra 表插入 JSON 和更新数据时遇到问题。
我有一个结构如下的表:
CREATE TYPE keyspace.connected_hw (
connected_element text,
support_list frozen<list<text>>
);
CREATE TABLE keyspace.sample_table (
id text,
name text,
connected_items frozen<keyspace.connected_hw>
)
我的插入脚本如下所示:
INSERT INTO keyspace.sample_table JSON '
{
"id": "12345",
"name": "object 1",
"connected_items": [
{
"connected_element": "56789",
"support_list": ""
}
]
}
'
运行此程序后,出现以下错误:
Error decoding JSON value for connected_items: Expected a map, but got a ArrayList :
我尝试先插入没有“connected_items”列表的其他字段,然后再更新它:
INSERT INTO keyspace.sample_table JSON '
{
"id": "12345",
"name": "object 1",
}
'
在我尝试使用
更新“connected_items”之前,此方法有效UPDATE keyspace.sample_table
SET connected_items = [{connected_element:'56789',support_list:['type1','type2']}]
where id='12345'
运行后出现以下错误:
InvalidQueryException: Invalid list literal for connected_items of type frozen<connected_hw>
【问题讨论】:
-
sample_table 的主键是什么?
标签: database cassandra cql user-defined-types