2016-11-12 58 views
0

我希望在DynamoDB中創建一個列表。這是我的代碼:如何在DynamoDB中創建和填充列表

var list_update_params = { 
     TableName: "table01", 
     Key: { 
     "MachineID": { 
      "S": MachineID 
     }, 
     "Hour": { 
      "S": Hour 
     } 
     }, 
     UpdateExpression: "set var01_list = list_append(var01_list, :ot)", 
     ExpressionAttributeValues: { 
     ":ot": {"L": [{"N": var01}]} 
     }, 
     ReturnValues: "NONE" 
    }; 
    dynamodb.updateItem(list_update_params, function(err, data) { 
     if (err) console.log(err, err.stack); 
     else console.log("Updated List to DynamoDB"); 
    }); 

問題是list_append預計屬性var01_list爲已經存在,但我不知道在第一次插入。有沒有一種技術可以讓我創建一個插入List屬性,如果一個不存在,並在以後的調用中追加到它?

回答

0

得到了類似的帖子回答here

UpdateExpression: "set var01_list= list_append(if_not_exists(var01_list, :empty_list), :h)", 
     ExpressionAttributeValues: { 
     ":h": {"L": [{"N":var01}]}, 
     ":empty_list": {"L": []} 
     }, 

的關鍵是使用if_not_existslist_append。不知道在這件事上可以做到