を追加しますされていない場合。
友人がまだリストにない場合、下のコードはリストに新しい友人を挿入します。
友人が既にリストに存在する場合、「条件付き要求は失敗しました」と表示されます。
エラーメッセージ条件が失敗した場合: -
Unable to update item. Error JSON: {
"message": "The conditional request failed",
"code": "ConditionalCheckFailedException",
"time": "2016-06-22T08:18:36.483Z",
"requestId": "86805965-240b-43e0-8fdc-77fb9ae1b15c",
"statusCode": 400,
"retryable": false,
"retryDelay": 0
}
以下のコードは正常に動作します。それは正常にテストされています。
コードサンプル:
var AWS = require("aws-sdk");
AWS.config.update({
region : "us-west-2",
endpoint : "http://localhost:8000"
});
var docClient = new AWS.DynamoDB.DocumentClient();
var table = "users";
var userid = 1;
var friendId = ["f4"];
var friendIdStr = "f4";
//Add the new DOCUMENT TYPE attribute to the table
var params = {
TableName : table,
Key: {
"id" : userid
},
"UpdateExpression": "set friends = list_append (friends, :friendId)",
"ConditionExpression": "not contains (friends, :friendIdStr)",
"ExpressionAttributeValues": {
":friendId": friendId,
":friendIdStr" : friendIdStr
},
"ReturnValues" : "UPDATED_NEW"
};
console.log("Updated an item...");
docClient.update(params, function(err, data) {
if (err) {
console.error("Unable to update item. Error JSON:", JSON.stringify(err,
null, 2));
} else {
console.log("Updated item:", JSON.stringify(data, null, 2));
}
});
おかげで素晴らしいですね!うまく動作します! –
ようこそ。 – notionquest
fururリーダの精度: 'list_append()'関数のパラメータは配列でなければならないので、 'friendId'変数の型に注意してください(' var friendId = ["f4"] ')。 – Sylvain