0

我想按时间/日期排序,并对表中的所有项目进行分页。Scan似乎旨在对所有内容进行分页,但似乎没有“ASC/DESC”等效项。查询具有ScanIndexForward但需要特定的主键。(没有办法选择 * ?)

根据这个问题的第一条评论,我认为实现这一目标的唯一方法是使用公共主键(!?),然后基于此进行查询,重点关注 Range 键。这真的是它应该如何工作的吗?如果我想根据唯一的主键查询单个项目,我必须使用镜像属性制作一个完整的单独表。

请原谅我的 NoSQL 菜鸟。我是一个只涉足 MySQL 和 SimpleDB 的前端开发人员。

4

1 回答 1

1

是的,这就是Query目的。哈希键标识要翻页的事物列表,范围键指示列表中的位置。如果您可以容忍延迟命中,那么您需要在表中存储的只是所有被分页的数据所在的主键,然后您可以发出 aBatchGetItem来并行读取一页数据。

重复数据在 NoSQL 中并不是关系模型中的罪恶,您实际上是在手工制作 MySQL 风格的索引。

于 2012-02-23T22:50:01.100 回答