将地图作为值传递到 Cassandra 中
Passing a map as a value to insert into Cassandra
我正在尝试将地图值插入到我的 Cassandra 数据库中。我正在使用 Go 编写我的客户端。目前它抛出错误 "can not marshal string into map(varchar, varchar)"。我知道错误是什么,但我无法解决。这是我写的代码。
if err := session.Query("INSERT INTO emergency_records
(mapColumn)
VALUES (?)",
"{'key' : 'value'}").Exec();
err != nil {
log.Fatal(err)
}
我不明白的是,我已经将一个查询作为一个完整的字符串编写,并且它可以正常工作而不会引发此错误。然而用问号分解它会抛出错误。我知道这很简单,我只是忽略了并且在文档中找不到,但是任何帮助都会非常感谢。
我之前没有使用过 Go casandra 客户端,但我想将地图作为地图而不是字符串传递应该可行:
mapValue := map[string]string{"key": "value"}
if err := session.Query("INSERT INTO emergency_records (mapColumn) VALUES (?)", mapValue).Exec(); err != nil {
log.Fatal(err)
}
我正在尝试将地图值插入到我的 Cassandra 数据库中。我正在使用 Go 编写我的客户端。目前它抛出错误 "can not marshal string into map(varchar, varchar)"。我知道错误是什么,但我无法解决。这是我写的代码。
if err := session.Query("INSERT INTO emergency_records
(mapColumn)
VALUES (?)",
"{'key' : 'value'}").Exec();
err != nil {
log.Fatal(err)
}
我不明白的是,我已经将一个查询作为一个完整的字符串编写,并且它可以正常工作而不会引发此错误。然而用问号分解它会抛出错误。我知道这很简单,我只是忽略了并且在文档中找不到,但是任何帮助都会非常感谢。
我之前没有使用过 Go casandra 客户端,但我想将地图作为地图而不是字符串传递应该可行:
mapValue := map[string]string{"key": "value"}
if err := session.Query("INSERT INTO emergency_records (mapColumn) VALUES (?)", mapValue).Exec(); err != nil {
log.Fatal(err)
}