我有一个包含视频信息的DynamoDB表。

当前,“ videoID”是主键(哈希),“ Category”是范围键(排序)。

我想获取所有“类别”(范围键)的列表,因此我可以允许用户从可用的视频类别之一中进行选择。

https://www.quora.com/What-are-some-good-ways-to-extract-one-single-column-from-a-DynamoDB-table

我读到的内容是,如果您修改了属性,将“类别”更改为全局二级索引,则可以返回该GSI的项目。但是我一直找不到解决方法。

http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSIJavaDocumentAPI.html

所以我想这给了我三个问题:

是否可以通过仅查询范围键来找到“类别”中的项目?

如果将类别更改为GSI,我可以用这种方式找到项目吗?

要么

是扫描整个表格的唯一方法吗?

在此先感谢您的帮助

最佳答案

Is the only way of doing it scanning the whole table?


-否,您可以实施GSI以避免它

Is there a way to do to find the items in Category by querying just the range key?


-是的,如果您不想扫描整个表格,则需要创建GSI,其类别将为哈希。该GSI本身将充当表格,您可以通过传递类别值来对其进行查询。

If change Category to a GSI can I find the items that way?


-是的,您可以使用类别值在GSI上进行查询

I was reading that if you modified change the attribute "Category" to a global secondary index you can return the items for that GSI. But I have not been able to find how to do that.


-创建表时需要创建GSI,指定的链接中提供了示例,完成后便可以查询该GSI

参考文献:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html

10-07 19:08