使用 cqerl 更新地图数据类型的正确方法
Correct way to update map data type with cqerl
我很难理解使用 cqerl 更新地图的语法。到目前为止,我已经尝试了以下方法,但它不起作用
statement = "UPDATE keyspace SET data[?] = :data_value WHERE scope = ?;",
values = [{data,"Key Value"},{data_value, "Data Value",{scope, "Scope Value"}]
我做错了什么?
设置ttl也不起作用
statement = "INSERT INTO data(scope)
VALUES(?) USING ttl ?",
values = [{scope, "Scope Value"},{[ttl], 3650}]
有人知道吗?
请注意,您在值周围使用了单引号,这在 Erlang 语法中表示您使用的是 atoms. Based on the documentation cqerl, it doesn't expect atoms there. cqerl data types
例如尝试:
statement = "INSERT INTO data(scope)
VALUES(?) USING ttl ?",
values = [{scope, "Scope Value"},{[ttl], 3650}]
根据贡献者在 github 上的回复,它需要一个原子,所以“[ttl]”是正确的方式
https://github.com/matehat/cqerl/issues/122
更新地图的正确方法是在值部分使用 atom
statement = "UPDATE keyspace SET data[?] = ? WHERE scope = ?;",
values = [{'key(data)',"Key Value"},{'value(data)', "Data Value",{scope, "Scope Value"}]
我很难理解使用 cqerl 更新地图的语法。到目前为止,我已经尝试了以下方法,但它不起作用
statement = "UPDATE keyspace SET data[?] = :data_value WHERE scope = ?;",
values = [{data,"Key Value"},{data_value, "Data Value",{scope, "Scope Value"}]
我做错了什么?
设置ttl也不起作用
statement = "INSERT INTO data(scope)
VALUES(?) USING ttl ?",
values = [{scope, "Scope Value"},{[ttl], 3650}]
有人知道吗?
请注意,您在值周围使用了单引号,这在 Erlang 语法中表示您使用的是 atoms. Based on the documentation cqerl, it doesn't expect atoms there. cqerl data types
例如尝试:
statement = "INSERT INTO data(scope)
VALUES(?) USING ttl ?",
values = [{scope, "Scope Value"},{[ttl], 3650}]
根据贡献者在 github 上的回复,它需要一个原子,所以“[ttl]”是正确的方式 https://github.com/matehat/cqerl/issues/122
更新地图的正确方法是在值部分使用 atom
statement = "UPDATE keyspace SET data[?] = ? WHERE scope = ?;",
values = [{'key(data)',"Key Value"},{'value(data)', "Data Value",{scope, "Scope Value"}]