【发布时间】:2018-12-10 08:17:05
【问题描述】:
我正在尝试将网络测验的答案保存到 DynamoDB 表中。每次提交答案时,最终都会调用下面的代码。例如。对于 3 个答案,它将被调用 3 次。
每次添加答案时,UpdatedAt 字段都会更新为当前时间戳。这让我知道最后一个答案是什么时候提交的。但是我也想知道第一个答案是什么时候提交的,因此我也需要CreatedAt 字段。我想知道这如何实现?
(我正在检查ConditionalCheckExpression,但它似乎适用于整个更新操作。而我需要找到一种方法来更新CreatedAt,只有在第一次插入项目时)。
const now = new Date();
let updateParams = {
TableName: process.env.TABLE_RESULTS,
Key: {
QuizId: '' + quiz_id,
SessionId: '' + session_key,
},
UpdateExpression: `SET #QQ_ID = :answer, #updatedAt = :updatedAt`,
ExpressionAttributeNames: {
'#QQ_ID' : `QQ_${question_id}`,
'#updatedAt': 'UpdatedAt',
},
ExpressionAttributeValues: {
':answer': answer,
':updatedAt' : now.toISOString(),
}
};
let result = await doc.update(updateParams).promise();
【问题讨论】:
标签: amazon-dynamodb