Aerospike - How to insert a unique item in a given list using Java?

Dante Adams :

If I run the code below, the value coming from getUserName() gets appended to the list. But if I run it again, same value gets inserted again. My question is, how to make sure the value is appended only once(Unique)?

My current code

Operation operation = ListOperation.append("names", Value.get(usr.getUserName()));
Record record = client.operate( policy, key, operation );

Example: Consider the "name" bin to be a list of strings.

'LIST["T1", "T2"]'

If I add T2 again, the list should remain the same.

Ronen Botzer :

ListOperation.append() can take a ListPolicy, which takes flags. For write operations such as this, the ListWriteFlags have the fields ADD_UNIQUE and NO_FAIL which you should combine if you want a value to only be added if it's a new unique list element.

See https://www.slideshare.net/RonenBotzer/asug-tlvmeetup2talk

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=416695&siteId=1