gpt4 book ai didi

amazon-web-services - DynamoDB - 如何通过非主键的内容进行查询

转载 作者:行者123 更新时间:2023-12-04 08:16:46 25 4
gpt4 key购买 nike

所以,我在 DybamoDB 上有一个具有以下结构的表:

- userId as the primarykey (it's a uuid)
- email
- hashedPassword

我想在有人注册时查明是否已经有人在使用该电子邮件。

这应该很容易,但据我所知,除非您使用主键作为参数或排序键,否则您无法在 DynamoDB 上查询(并且我不确定使电子邮件是否有意义)排序键)。

我发现的另一种方法是使用全局二级索引,这几乎是您使用另一个字段作为主要排序创建的索引表,但这是收费的,因为我仍在开发和测试,所以我没有想要有开支。

有人有其他选择吗?还是我错了,还有另一种方法可以做到这一点?

最佳答案

与其他答案一样,我也认为 GSI 是最好的选择

但我还想补充一点,由于 DynamoDB 的搜索功能非常有限,因此出于此目的将 DynamoDB 与其他东西一起使用的情况并不少见。 AWS 博客中描述了这样一个用例:

The main querying capabilities of DynamoDB are centered around lookups using a primary key. However, there are certain times where richer querying capabilities are required. Indexing the content of your DynamoDB tables with a search engine such as Elasticsearch would allow for full-text search.

显然,我不建议在您的场景中使用 ES 而不是 GSI。但值得注意的是,DynamoDB 可以而且经常与其他服务一起使用来扩展其搜索功能。

关于amazon-web-services - DynamoDB - 如何通过非主键的内容进行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62238991/

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