2012-02-16 41 views
0

我希望按時間/日期對ORDER_BY進行分頁,並對錶中的所有項進行分頁。 Scan似乎設計爲通過一切分頁,但似乎沒有「ASC/DESC」相等。 QueryScanIndexForward但需要特定的主鍵。 (沒辦法選擇*?)構建一個dynamoDB表,以啓用ASC或DESC對錶中*項目的訂單分頁

根據first comment of this question我想唯一的方法來實現這個是使用一個共同的主鍵(!?),然後查詢基於此,專注於範圍鍵。這真的是它應該如何工作?如果我想根據唯一的主鍵查詢單個項目,我必須創建一個帶有鏡像屬性的完整獨立表格。

請原諒我的NoSQL noobness。我是一個只涉獵MySQL和SimpleDB的前端開發人員。

回答

2

是的,這是Query的用途。散列鍵標識頁面翻頁的列表,範圍鍵指示列表中的位置。如果您可以容忍延遲命中,則您需要在表中存儲的所有數據都是主鍵,在這些主鍵中所有數據都將被分頁,然後您可以發出BatchGetItem以並行讀取一頁數據。

在關係模型中,重複數據在NoSQL中並不是罪孽,你基本上是手工製作MySQL樣式索引。

+0

這是有幫助的。謝謝。 – case2000 2012-02-25 20:35:25