我在 Cassandra 中有一个 UDT,并且我有一个表,其架构中有一组这些 UDT。这是一个示例:
CREATE TYPE keyspace.test_type(
x float,
y float)
在我的架构中,我有
CREATE TABLE test_table(
key text,
test_array list<FROZEN <test_type>>,
PRIMARY KEY (key))
在我的 go 包中,我构建了一个结构:
type Test_type struct{
x float32
y float32
}
然后我有一个函数,它本质上返回这个 test_type: 的列表[]test_type
,让我们调用它my_array
。
当我尝试使用 gocql 进行插入时:
err := gocql.Session.Query('INSERT into test_table (key,test_array)
VALUES (?,?)', 'key', my_array).Exec()
我得到一堆空值而不是我的数组。基本上 test_type 没有正确映射到我创建的 UDT 是我的假设。
本质上,我的问题是如何将结构映射到 udt 以便正确识别类型。.