我想在DynamoDB项目中拥有基本上是封顶的列表.我希望能够将一个项目添加到列表的前面,然后如果超过一定大小则将项目从后面放下.
在我的例子中,我将帽设置为3,前置元素"6",并在状态之前/之后显示:
{ } -> { "myList": [6] }
{ "myList": [1] } -> { "myList": [6, 1] }
{ "myList": [3, 2, 1] } -> { "myList": [6, 3, 2] }
Run Code Online (Sandbox Code Playgroud)
但我不能使用以下更新表达式来组合SET和REMOVE操作myList:
# (":empty" set to an empty list in the value map)
SET myList = list_append(:v, if_not_exists(myList, :empty)) REMOVE myList[3]
Run Code Online (Sandbox Code Playgroud)
尝试使用此表达式会导致异常(使用Java中的Document API):
Invalid UpdateExpression: Two document paths overlap with each other; must remove or rewrite one of these paths
Run Code Online (Sandbox Code Playgroud)
如果我拆分SET并REMOVE分成两个不同的更新请求,它将起作用.是否有任何技巧可以让我在一个请求中执行此操作?
| 归档时间: |
|
| 查看次数: |
1426 次 |
| 最近记录: |