我正在使用DynamoDBMapper将新对象插入到我的表中。 表结构:
key: hash_key
attribute1: global sec index
other attributes
现在我希望attribute1的值在表中是唯一的。怎么做?
已经尝试过:
a. map.put("attribute1", new ExpectedAttributeValue(false));
b. map.put("atrribute1", new ExpectedAttributeValue().withExists(false));
我正在使用mapper.save()
默认的SaveBehaviour。
答案 0 :(得分:0)
你基本上不能用GSI做到这一点。 该指数并未说明唯一性。它只是对表进行索引,以便根据该属性进行更快的查找
另见: DynamoDB key uniqueness across primary and global secondary index
答案 1 :(得分:0)
如果您希望对不是主键的属性强制执行唯一性,我建议您查看此post.