设计带有标签的相册的最佳做法

时间:2018-11-28 14:38:07

标签: amazon-web-services amazon-dynamodb

我正在开发一个无服务器应用程序,用于存储和搜索S3中存储的图像。有关图像的信息将像这样存储在DynamoDB中:

  • imageID

  • imageName

  • imageSize

  • createdAt

现在我还想向每个图像添加标签(关键字),以便用户可以基于该标签过滤/搜索图像。

我的问题是设计此数据库的最佳实践是什么?我应该使用2个单独的表:1个用于图像,另一个用于image_tags吗?

表1:

  • imageID

  • imageName

  • imageSize

  • createdAt

表2:

  • imageID

  • imageTag

或使用主键(imageID和ImageTag)将所有数据放在一个表中:

表格:

  • imageID

  • imageTag

  • imageName

  • imageSize

  • createdAt

例如,如果一个图像有5个标签,那么我在表中将有5个条目。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我认为您的方法是错误的。

您应该做的是为每张图片添加标签列表,并在查询时使用条件,尤其是CONTAINS

来自documentation

  

包含:检查子序列或集合中的值。