一個 DynamoDB 資料表使用 OrderID (partition key) 和 NumberOfItemsPurchased (sort key),兩者都是 Number 類型。查詢結果目前是依 NumberOfItemsPurchased 以遞增順序傳回。開發人員希望查詢結果依 NumberOfItemsPurchased 以遞減順序排序。要如何達成?
選擇一個答案
點擊一個選項來檢查您的答案。
正確答案: 將 Query 操作的參數 ScanIndexForward 設定為 false。.
為什麼這是答案
正確答案是將 Query 操作的參數 ScanIndexForward 設定為 false。DynamoDB 的 Query 操作預設會以遞增順序傳回結果。若要以遞減順序排序,只需將 ScanIndexForward 參數設定為 false 即可。這會反轉排序鍵的排序方向,而無需更改資料表結構或索引。 建立一個 local secondary index (LSI) 並使用 NumberOfItemsPurchased 作為 sort key 無法解決問題,因為 LSI 的排序順序預設也是遞增,且建立 LSI 是為了提供不同的查詢路徑,而非改變現有排序順序。將 sort key 重新命名為 NumberOfItemsPurchasedDescending 並沒有實際作用,DynamoDB 不會因為名稱而改變排序行為。將 Query 操作的參數 KeyConditionExpression 設定為 false 是錯誤的,KeyConditionExpression 用於指定查詢條件,而不是排序方向。
通過考試 — 無需無休止地尋找答案
集中一處獲取此考試的所有核實題目和解釋,節省數小時的準備時間。1,000 多種認證 · 20 多種語言 · 免費開始。
更快通過您的考試 → 無需信用卡