如果字段不存在或小于给定值,我想保存项目。
因此,第一次写入项目时,该字段将不存在。在随后的写入中,它需要小于给定值。
但似乎DynamoDBSaveExpression
不允许列上有多个条件。我目前的代码如下:
Map<String, ExpectedAttributeValue> expected = new HashMap<>();
expected.put("lastProcessTime", new ExpectedAttributeValue().withComparisonOperator(ComparisonOperator.LT).withValue(
new AttributeValue().withN(String.valueOf(processTime))
));
DynamoDBSaveExpression saveExpression = new DynamoDBSaveExpression()
.withExpected(expected);
dynamoDBMapper.save(item, saveExpression);
但是,如果表中的现有项目具有相同的主键,则此方法无效,因为在这种情况下lastProcessTime
的值为null
。
我如何实现我的需求?