如何使用nodejs在dynamodb中使键唯一?

时间:2019-01-09 04:59:26

标签: node.js amazon-dynamodb

我必须在dynamo db中设置一个唯一的密钥。我想使我的电子邮件具有唯一性,如果数据库中已经存在该电子邮件,则当我下次输入相同的电子邮件ID时,则不应输入数据库。它应该给出一个响应“电子邮件已经存在”。我该怎么办?

这是我得到一名员工的回复。在此示例中,我不需要插入其他电子邮件值,例如hari@gmail.com

{
            "defaultEmp": 0,
            "empName": "Hari",
            "statuses": 1,
            "designation": "store keeper",
            "id": 1,
            "storeId": 1,
            "email": "hari@gmail.com"
        }

2 个答案:

答案 0 :(得分:2)

您无需为电子邮件创建ID即可使其唯一。.只需在用户创建帐户时检查db中是否存在该电子邮件即可。.就这样..无需填写其他字段并进行检查

答案 1 :(得分:0)

相应地选择要实现的partition key vs composite key

1:您可以将名称用作分区键,将电子邮件用作排序键Using sort key

  • 如果您想获取所有与单个指定相关的电子邮件,  情况很好。
  • 但是请确保您的设计最终不会达到唯一的指定  最终将导致问题Provision throughput must be divide evenly

2:您可以将电子邮件用作分区键,而可以将其用作排序键,或者仅    电子邮件作为分区密钥。

  • 对于一封电子邮件,可以使用什么名称

3:只需选择电子邮件作为分区密钥。

注意:

-确保电子邮件和指定复合主键是唯一的,否则它将覆盖数据。

-这是我的第一个贡献:)如果我错了,请纠正我,并随时提出任何建议。 谢谢!