Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS-存储用户表';能力_Amazon Web Services_Amazon S3_Aws Sdk - Fatal编程技术网

Amazon web services AWS-存储用户表';能力

Amazon web services AWS-存储用户表';能力,amazon-web-services,amazon-s3,aws-sdk,Amazon Web Services,Amazon S3,Aws Sdk,我需要一些关于为使用AWS的单个用户存储大量信息的最佳方法的指导。 问题是,每个用户在注册我的网站后,都需要从大约40个能力(任何用户都可以选择的属性)中挑选能力,我需要找到一种好的方法来存储每个用户的能力 我目前正在使用Cognito作为用户表,使用dynamoDB存储用户信息。 理论上,我可以在我的dynamoDB上为每种能力设置一个列,如果用户选择,则设置为“1”,否则设置为“0”。但这将导致大约40个额外的列,我想知道是否有更好的方法来处理这个问题 谢谢你抽出时间 您使用的是NoSQL数

我需要一些关于为使用AWS的单个用户存储大量信息的最佳方法的指导。 问题是,每个用户在注册我的网站后,都需要从大约40个能力(任何用户都可以选择的属性)中挑选能力,我需要找到一种好的方法来存储每个用户的能力

我目前正在使用Cognito作为用户表,使用dynamoDB存储用户信息。 理论上,我可以在我的dynamoDB上为每种能力设置一个列,如果用户选择,则设置为“1”,否则设置为“0”。但这将导致大约40个额外的列,我想知道是否有更好的方法来处理这个问题


谢谢你抽出时间

您使用的是NoSQL数据库(Dynamo),但考虑的是关系型数据库(列代表一切)。为什么不创建一个表,例如为每个能力提供一个可选列?它在概念上类似于关系型,但不必为每个用户都存在列,而且,如果添加了功能,就不会出现表升级问题。比如:

这将允许您读取用户并确定他们具有哪些能力。是的,对于一个用户,您仍然需要遍历所有可能的能力,但不是每个用户都需要显式设置能力