如果我运行下面的代码,来自 getUserName() 的值将被附加到列表中。但如果我再次运行它,则会再次插入相同的值。我的问题是,如何确保该值仅附加一次(唯一)?
我当前的代码
Operation operation = ListOperation.append("names", Value.get(usr.getUserName()));
Record record = client.operate( policy, key, operation );
示例:将“name”bin 视为字符串列表。
'LIST["T1", "T2"]'
如果我再次添加 T2,列表应保持不变。
最佳答案
ListOperation.append()
可以拍ListPolicy
,需要标志。对于这样的写操作,ListWriteFlags
如果您希望仅在新的唯一列表元素时添加值,则应将字段 ADD_UNIQUE
和 NO_FAIL
组合起来。
参见https://www.slideshare.net/RonenBotzer/asug-tlvmeetup2talk
关于java - Aerospike - 如何使用 Java 在给定列表中插入唯一项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59965159/