Dynamodb - 仅从 table 列获取唯一值

Dynamo DB - get only unique values from a table column

我有一个 table 有 2 列,用户 ID 和图书 ID。

userId | bookId |
-----------------------
12     |   3
23     |   4
34     |   2
56     |   1
45     |   4
345    |   1

有没有办法只获取 bookId 的唯一值?像 sql.

中的 GROUP BY

意思查询得到- [1,2,3,4]

谢谢。

DynamoDB 没有像 SQL table 这样的“列”。相反,它具有由键(简单键或复合键)索引的文档(在 DynamoDB 术语中称为项目)。这些项目具有属性,但为了检索的目的,将这些项目想象成任意有效载荷是有用的。

因此,DynamoDB table 没有聚合查询 API。所以你不能要求 Dynamo 计算多个项目的聚合。

如果您需要识别 table 中的唯一项,您必须在应用程序中扫描并执行聚合。考虑一下您可能需要如何预先查询数据并使用二级索引,或者在更新 table.

中的数据时预先计算聚合是很有用的