Amazon dynamodb 在dynamodb表中插入嵌套的attributes数组元素而不检索整个项

Amazon dynamodb 在dynamodb表中插入嵌套的attributes数组元素而不检索整个项,amazon-dynamodb,Amazon Dynamodb,如果可能的话,寻找这个问题的答案,而不是寻找重构建议或重新设计,我只需要了解我在这里还缺少什么: 我在dynamodb中有一个现有项目: { "CartId": 321, "UserId": usr555, "CartItems": [ { "ProductId":59999, "Quantity": 1 }, { "ProductId": 58888, "Quantity": 2 } ] } 在我的代码中,我想将另一个嵌套属性插入到上面项目中的数组C

如果可能的话,寻找这个问题的答案,而不是寻找重构建议或重新设计,我只需要了解我在这里还缺少什么:

我在dynamodb中有一个现有项目:

{
"CartId": 321,
"UserId": usr555,
"CartItems": [
 {
    "ProductId":59999,
    "Quantity": 1
 },
 {
    "ProductId": 58888,
    "Quantity": 2
 }
 ]
}

在我的代码中,我想将另一个嵌套属性插入到上面项目中的数组CartItems中。我找不到一种不检索整个项目然后插入的方法,这可能会达到KBs大小

我只想在现有嵌套属性中插入一个数组元素,而不必检索该项


我使用的语言是nodejs,函数是DynamoDB.put。

UpdateExpression属性支持SET操作,SET操作支持list\u append函数。由于list_append函数操作数必须是list,请将新值包含在列表中,如下所示

response = dynamodb_client.update_item(TableName='your_table', 
Key={'CartId':'321'}, 
UpdateExpression='SET CartItems = list_append(CartItems, :val1)',
ExpressionAttributeValues = {':val1':[{'ProductId':12345, 'Quantity': 100}]})
希望这有帮助