【发布时间】:2020-01-29 10:31:14
【问题描述】:
如果我运行下面的代码,来自 getUserName() 的值会附加到列表中。但是,如果我再次运行它,则会再次插入相同的值。我的问题是,如何确保该值仅附加一次(唯一)?
我当前的代码
Operation operation = ListOperation.append("names", Value.get(usr.getUserName()));
Record record = client.operate( policy, key, operation );
示例:将“name”bin 视为字符串列表。
'LIST["T1", "T2"]'
如果我再次添加 T2,列表应该保持不变。
【问题讨论】:
-
你能发布 ListOperation 类吗?
-
@Jason ListOperation 是 Aerospike 提供的内置类 aerospike.com/apidocs/java/com/aerospike/client/cdt/…
-
您的 ListPolicy 带有标志,而 ListWriteFlags 具有
ADD_UNIQUE和NO_FAIL如果您希望仅在新的唯一列表元素时才添加值,则应将它们组合起来。 aerospike.com/apidocs/java/com/aerospike/client/cdt/…