gpt4 book ai didi

unique-constraint - 有没有办法对 dynamodb 中主键以外的属性(字段)强制执行唯一约束

转载 作者:行者123 更新时间:2023-12-03 07:35:05 26 4
gpt4 key购买 nike

在dynamodb中,如果您想在主键以外的字段中强制执行唯一性(例如您有一个用户表并希望用户的唯一电子邮件地址,而主键是一个数字的用户ID)有没有办法除了扫描表格以查看电子邮件是否已被使用之外?

最佳答案

简短回答:否。

DynamoDB 是一种键:值存储。它非常擅长快速检索/保存项目,因为它做了一些妥协。这是一个你必须自己处理的限制。

尽管如此,根据您的实际模型,使用此字段作为 hash_key 或考虑使用 range_key

可能是个好主意

如果这是不可能的,我建议您对数据进行反规范化。您目前有类似的内容:

用户表

  • hash_key:user_id
  • 电子邮件
  • ...

为了确保唯一性,请添加具有以下架构的新表:

电子邮件用户

  • hash_key:电子邮件
  • user_id

要确保电子邮件的唯一性,只需先向 EmailUser 发出 GetItem 即可。

这种反规范化在 No-SQL 数据库中非常常见。

关于unique-constraint - 有没有办法对 dynamodb 中主键以外的属性(字段)强制执行唯一约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12920884/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com