2016-11-12 6 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"); 
    }); 

問題は属性var01_listがすでに存在することを期待し、私は最初のインサートでは分からないでしょうlist_appendです。存在しない場合に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": []} 
     }, 

キーはlist_appendif_not_existsを使用していました。この問題でこれができるかどうかわからなかった

関連する問題