如何处理 AWS DynamoDB 中的空 java 字符串集
我正在尝试在 AWS DynamoDB 表中存储字符串数组。在大多数情况下,此数组将至少填充一个字符串。但是,存在数组可能为空的情况。
我在 Java Lambda 函数中创建了一个 DynamoDB 模型,该模型将一组字符串作为其属性之一。如果我尝试在字符串集为空时保存 DynamoDB 模型,它会给我一个错误,指出我无法在 DynamoDB 中存储空集。
因此,我的问题是,在 DynamoDB 中保存/更新该设置属性之前,如何处理从我的模型中移除该集合属性(如果该属性为空)?
下面是该模型的一个示例。
@DynamoDBTable(tableName = "group")
public class Group {
private String _id;
private Set<String> users;
@Null
@DynamoDBHashKey
@DynamoDBAutoGeneratedKey
public String getId() {
return _id;
}
public void setId(final String id) {
_id = id;
}
@DynamoDBAttribute
public Set<String> getUsers(){
return users;
}
public void setUsers(final Set<String> users) {
this.users = users;
}
public void addUser(String userId) {
if(this.users == null){
this.setUsers(new HashSet<String>(Arrays.asList(userId)));
}else{
this.getUsers().add(userId);
}
}
}
第一次,当我将创建一个组。它可以没有用户,也可以有一个或多个用户。