如何在dynamodb中追加到列表/数组?

时间:2019-07-18 21:09:56

标签: javascript database amazon-web-services amazon-dynamodb graphql

对于DynamoDB表中的“ id”(例如e5eb02ae-04d5-4331-91e6-11efaaf12ea5),我有一个名为Weather的列

['sun', 'rain', 'snow', etc...]

当['hail']到达时,我需要更新Weather。现在,我下面的update()替换了整个数组。我要做的就是在列表的末尾附加“ hail”。

    const updateinfo = {
       id: "e5eb02ae-04d5-4331-91e6-11efaaf12ea5",   
       Weather: "hail"
    }
    try {
        await API.graphql(graphqlOperation (UpdateInfo, { input: updateinfo }))  //mutation
        console.log('success')
       }
       catch (err) {
         console.log(err)
       }

我该怎么做,确保我的列表仅附加信息,而无需get()并下拉['sun','rain','snow'等...],然后添加“雹”并创建一个新的数组?那就是一个GetInfo()和一个UpdateInfo(),后者是工作量/调用/费用的两倍。

1 个答案:

答案 0 :(得分:0)

我在另一个问题中发表了对类似问题的回答。答案是使用名为list_append的DynamoDB函数。

  

list_append(操作数,操作数)

     

此函数求值为列表,其中添加了新元素。您可以通过反转操作数的顺序将新元素追加到列表的开头或结尾。

您可以在此处查看有关如何使用AWS AppSync和AWS Amplify进行操作的详细响应。

https://stackoverflow.com/a/57088993/11681626