DynamoDb不支持批量更新,它仅支持批量放置。
但是,只有具有键的项目的batchPut是否可能不存在?
答案 0 :(得分:2)
在batchWriteItem
中,有以下注释:
例如,您无法在单个put和delete请求中指定条件,BatchWriteItem也不会在响应中返回已删除的项目。
相反,我建议将putItem
与条件表达式一起使用。在putItem
文档的底部,有以下注释:
[...]要防止新项目替换现有项目,请使用 包含
attribute_not_exists
函数的条件表达式 使用属性的名称作为分区键 表[...]
因此,请务必将以下内容添加到ConditionExpression
(此处使用NodeJS语法)
const params = {
Item: {
userId: {
S: "Beyonce",
}
},
ConditionExpression: "attribute_not_exists(userId)"
};