我想创建一个表,其中地图接受字符串作为键,任何对象作为值(布尔值,字符串,整数,时间戳)。
有可能吗?
由于
答案 0 :(得分:2)
任何对象都是不可能的。您可以创建用户定义的类型,但此类型不是动态的:https://docs.datastax.com/en/cql/3.1/cql/cql_reference/cqlRefcreateType.html
您可以将对象解析为json,将此json解析为字符串。您可以在文本列中插入此字符串。
答案 1 :(得分:1)
目前,不,地图中的键和值必须是已知的CQL类型。有request for "dynamic types",但到目前为止还没有人参与其中。
答案 2 :(得分:1)
动态类型没有原生支持。
所以你有两个工作。
在您的应用程序逻辑中处理它。
map<text, blob>
或map<text, text>
使用所有可能的类型创建UDT并相应地存储它。
如果你的品种很少,那么你应该选择第二个选项,否则1应该更好。使用1st选项,您也可以存储复杂对象。
希望它有所帮助!