Amazon dynamodb dynamodb文档客户端强制将put(非更新)放入表中

Amazon dynamodb dynamodb文档客户端强制将put(非更新)放入表中,amazon-dynamodb,documentclient,Amazon Dynamodb,Documentclient,我正在尝试使用aws sdk为javascript,特别是aws.DynamoDB.DocClient()创建一个名为events的dynamo表。它被设置为简单地跟踪任何和所有用户事件,是一个超级简单的结构。结构如下: 同源性(主键) 事件类型 时间戳 * * * 现在我知道它为什么这样做了,因为cognitoId是主键,这是put函数的预期功能。如果找到主键,它会更新,如果没有,它会添加 听起来你很清楚为什么会这样。听起来Cognito ID本身并不足以唯一地表示特定用例中的用户事件。您可能

我正在尝试使用aws sdkjavascript,特别是aws.DynamoDB.DocClient()创建一个名为events的dynamo表。它被设置为简单地跟踪任何和所有用户事件,是一个超级简单的结构。结构如下:

同源性(主键) 事件类型 时间戳 * * * 现在我知道它为什么这样做了,因为cognitoId是主键,这是put函数的预期功能。如果找到主键,它会更新,如果没有,它会添加

听起来你很清楚为什么会这样。听起来Cognito ID本身并不足以唯一地表示特定用例中的用户事件。您可能想看看复合主键。也就是说,主键由多条信息组成。例如,您可以使用cognitoid和timestamp字段来唯一地标识事件。或者,如果用户事件可以同时发生,则可能是某种唯一标识符(例如UUID/KSUID/ULID)

考虑在复合主键中包含时间戳。这样,您就可以拥有一个项集合来随时间聚合用户事件