2

我需要一些有关 DynamoDB 的帮助。我有如下表格:

| Shortener (Hash key) | ShortenedURL (Range key) | LongURL      |
|-----------------------------------------------------------------|
| "My webpage url"     | "1"                       | "example.net"|
| "My webpage url"     | "6"                       | "example.com"|
| "My webpage url"     | "4"                       | "example.eu" |

如何检索“ShortenedURL”中数字最大的行?我对 DynamoDB 和 NoSQL 的东西完全陌生。使用 AWS PHP 开发工具包。试图搜索几个小时并没有找到任何有用的东西。我尝试的所有结果都以“1”或“4”之类的结果结束。

4

2 回答 2

2

为此,您可以Query使用以下参数:

  • hashKey 是“我的网页网址”
  • rangeKey 上没有条件
  • 限制是 1(你只想要一件事)
  • withScanIndexForward=false(从最大到最小)

这仅在您的 rangeKey 是 Number 类型时才有效。如果是String,那么只能得到字典序,所以“last”可能很奇怪(这三个字符串出现的顺序是:)["1, "10", "2", ...]

于 2013-10-29T21:34:45.773 回答
0

你的范围键必须是字符串吗?如果它是一个数字,您可以选择它来检索最大的数字,因为范围键具有为它们提供顺序的索引。

无论哪种方式,您都可以使用 Query API并通过指定ScanIndexForward为来向后设置索引false

于 2013-10-29T21:31:36.950 回答