仅当地图中有 N 个或更少项目时,dynamoDB 条件写入
dynamoDB conditional write only when there are N or less items in a map
我们正在 DynamoDB 中存储地图(不是我的设计选择)。所以,基本上一个键可以包含一个值列表。像 map[string][]someStruct.
这样的东西
如果给定键只有 N 个或更少的值,我们只能将一个值附加到给定键。例如,如果“key1”已经有3个值,我不能追加另一个值,但如果它少于3个值,我可以再追加一个值。
我查看了条件写入,但找不到对此有帮助的条件表达式。任何帮助是极大的赞赏。谢谢!
您需要在列表旁边存储列表中的记录数,也许像这样的方法可行:
{
"key1": {
"list": [1,2,3,4],
"listLength": 4
}
}
您需要确保列表和 listLength 保持同步。
或者,您可以获取该项目,检查长度,然后使用条件进行更新,以确保在您获取和更新操作之间它没有被更新。
我们正在 DynamoDB 中存储地图(不是我的设计选择)。所以,基本上一个键可以包含一个值列表。像 map[string][]someStruct.
这样的东西如果给定键只有 N 个或更少的值,我们只能将一个值附加到给定键。例如,如果“key1”已经有3个值,我不能追加另一个值,但如果它少于3个值,我可以再追加一个值。
我查看了条件写入,但找不到对此有帮助的条件表达式。任何帮助是极大的赞赏。谢谢!
您需要在列表旁边存储列表中的记录数,也许像这样的方法可行:
{
"key1": {
"list": [1,2,3,4],
"listLength": 4
}
}
您需要确保列表和 listLength 保持同步。
或者,您可以获取该项目,检查长度,然后使用条件进行更新,以确保在您获取和更新操作之间它没有被更新。