首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查询具有唯一散列属性的DynamoDB?

查询具有唯一散列属性的DynamoDB?
EN

Stack Overflow用户
提问于 2013-05-23 08:16:39
回答 3查看 2.1K关注 0票数 3

我计划创建一个以UserName作为散列键和一个LastLoginDate属性(以及其他属性)的User表。

我希望能够查询表中的内容:上个月没有登录的所有用户。

我该如何在DynamoDB中做到这一点呢?

我一直在研究本地二级索引,并考虑将LastLoginDate作为二级索引。但我对documentation的理解是,二级索引只能帮助对相同散列键的结果进行排序,在我的例子中,每个用户都有一个唯一的UserName。这会使这种二级索引变得毫无意义吗?

提前感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-06-09 18:14:50

您是对的,除非您执行全表扫描,否则必须始终按HashKey查询。

进行完全扫描时,您可以查看表中的每个条目并比较它们的LastLoginDate。这可能很快就会变得不可伸缩,这取决于您有多少用户。

票数 3
EN

Stack Overflow用户

发布于 2015-01-31 21:37:44

您可以在LastLoginDate上创建GSI,并通过向GSI发出查询来应用您的逻辑。这可能有助于更快地获得结果,而不是扫描散列键并检查LastLoginDate和应用逻辑。

票数 2
EN

Stack Overflow用户

发布于 2013-12-10 00:01:45

我解决这个问题的方法是创建散列键,例如'userType‘,它可以是'regularUser','admin’等。UserName可以是范围键,LastLoginDate可以是索引。

然后,您可以通过提供散列键'regularUser‘和范围键’例如某个用户名‘来查询特定用户的表。当你想要所有的用户,这取决于他们的最后登录时间,而不是范围键'UserName‘,使用索引'LastLoginDate’。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16703655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档