我现在正在网站上工作,我正在尝试使用AWS SDK for Javascript向Dynamo发出有条件的更新请求但是,似乎请求忽略了我的条件和更新无论如何发生。我将在下面发布代码,但基本上我尝试做的是以下内容:
// Update method
async function updateUserStats(dynamoParams) {
return await dynamodb.update(dynamoParams, function (err, data) {
if (err) {
console.log("err: ", err);
return "Unable to update item. Error JSON: " + JSON.stringify(err, null, 2);
} else {
console.log("Woot: ", data);
return "Successfully updated user! " + JSON.stringify(data, null, 2);
}
});
}
// QueryParams with DynamoDB Update request
{
TableName: 'UserStats',
Key: {
username: 'Talia'
},
UpdateExpression: 'SET Cindy.score = :score,Cindy.dateCompleted = :dateCompleted',
ExpressionAttributeValues: {
':score': 50,
':dateCompleted': '2017-12-99'
},
ReturnValues: 'UPDATED_NEW',
ConditionalExpression: 'Cindy.score <= :score'
}
// DynamoDB Table
Username | Cindy
Talia {score: 25, dateCompleted: "2018-05-14"}