更新dynamoDB中的数组项

时间:2016-06-30 15:44:11

标签: node.js amazon-dynamodb

在我的 dynamoDB 中,我有一个表结构如下所示:

 var params = {
      "TableName" : "pdfs",
      "Item" : {
          pdfid:  // Partition key
          html: [] // array attribute
       }
 };

我可以插入新的数组数据,就像给定代码一样:

插入数组数据

 var params = {
      "TableName" : "pdfs",
      "Item" : {
          pdfid: pdfid,
          html: [event.html]   // here "html" is an array, I just insert first array data
       }
 };

 dc.put(params, function(err, data) {
     ............................
 });

如何更新dynamoDB中的数组?

  var params = {
      TableName: "pdfs",
      Key: {
         pdfid: event.pdfid
      },
      UpdateExpression: "SET html = :html",
      ExpressionAttributeValues: {
         ":html": ??????
      },
      ReturnValues: "ALL_NEW"
  };

2 个答案:

答案 0 :(得分:0)

使用以下UpdateExpression将值附加到列表:SET html = list_append(html, :html)。 ExpressionAttributeValues只是从:html到您要添加的字符串的映射。

答案 1 :(得分:0)

使用字符串集属性更新列表。

ExpressionAttributeValues: {
         ":html": {
              SS: aws.StringSlice(your_html_array)    
      }