删除 DynamoDB 字符串集中的最后一个元素

问题描述 投票:0回答:1

假设我有一个 DynamoDB 文档,其中包含一个字符串集属性,其中包含一个字符串元素。如果我使用

DELETE
更新表达式删除元素,则集合将为空。但根据文档,DynamoDB 不允许空集属性,

属性值不能为空集(字符串集、数字集或 二进制集),但是允许空列表和映射。 https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html

在这种情况下更新表达式的行为是什么?它是否记录在任何地方?我无法找到任何关于这是否会是错误或者 Dynamo 是否会删除文档上的属性的参考,因为该集合无论如何都是空的。

amazon-web-services amazon-dynamodb
1个回答
0
投票

如果您使用

DELETE
更新表达式删除的元素是集合中唯一的元素,则整个属性都会被删除。

类似地,

ADD
更新表达式会创建一个集合(如果不存在),然后插入该元素。

这种行为在 AWS 官方文档中似乎没有明确描述,但在实践中相对容易验证。

© www.soinside.com 2019 - 2024. All rights reserved.