簡體   English   中英

DynamoDB 並對項目進行排序

[英]DynamoDB and get item sorted

我大約 2 周前開始使用 DynamoDB,現在我有必要根據排序列獲取項目......我已經將我的表創建為令牌(PK),CreateTimestamp(排序)但我發現無法對 CreateTimestamp 列進行排序。 我需要這個,因為我需要讀取在最后插入的行上定義的最高屬性。 我怎樣才能做到這一點?

謝謝

我認為您需要使用復合鍵,我們稱它們為分區鍵 (PK) 和排序鍵 (SK)。

為了讓所有項目有序,首先你需要把它們放在同一個分區(相同的 PK 值),然后創建一個 SK 與你想要排序的條件。 例如:

如果你想按日期排序,從舊到新,你可以利用KSUID

{
  "PK": {
    "S": "PK"
  },
  "SK": {
    "S": "272XuKFxQEa1VTj5dHEaKXWXBdc"
  }
}

272XuKFxQEa1VTj5dHEaKXWXBdc創建於2022-03-29 09:02:55.460868

默認查詢將自動首先獲取最舊的查詢,如果您想獲取最新的查詢,可以將參數ScanIndexForward設置為false detail

否則,如果您想按數字增量(0、1、2、3 等)排序,則需要使用填充數字,如下所示:

{
  "PK": {
    "S": "PK"
  },
  "SK": {
    "S": "0000000"
  }
},
{
  "PK": {
    "S": "PK"
  },
  "SK": {
    "S": "0000001"
  }
}

查詢可以和上面一樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM