aoa*_*oak 3 java amazon-web-services amazon-dynamodb
当您想要以下条件时,是否可以使用 DynamoDB 映射器进行条件写入/更新:如果属性不等于 X,则写入?我想做一个有条件的写,做这样的事情:
DynamoRecord record = mapper.load(DynamoRecord.class, hashKey);
if (record.getSomeAttr() != terminationValue) {
mapper.save(newRecord);
}
Run Code Online (Sandbox Code Playgroud)
该属性始终存在。它可以有多个值并代表一个条件,在该条件之后对记录的更新应该停止。
我阅读了这篇文章和AWS 文档以及一堆其他帖子,但似乎只==支持运算符和存在检查。是否可以!=使用映射器进行条件写入?如果是这样,非常感谢任何指针。
谢谢。
@notionquest 的回答摘要
ComparisonOperator.NE@DynamoDBNativeBoolean获得正确的结果ExpectedAttributeValue(new AttributeValue().withBool(true))。有关详细信息,请参见此处。请使用“withComparisonOperator(ComparisonOperator.NE)”作为NOTEQUALS 条件。请参考以下示例。
DynamoDBSaveExpression saveExpression = new DynamoDBSaveExpression();
Map expected = new HashMap();
expected.put("Status",
new ExpectedAttributeValue(new AttributeValue(status)).withComparisonOperator(ComparisonOperator.NE));
saveExpression.setExpected(expected);
dynamoDBMapper.save(obj, saveExpression);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5413 次 |
| 最近记录: |