首頁  >  文章  >  後端開發  >  使用 gosdk 在 Dynamodb 中執行 UpdateItem 時如何將 ValueBuilder 物件宣告為 StringSet?

使用 gosdk 在 Dynamodb 中執行 UpdateItem 時如何將 ValueBuilder 物件宣告為 StringSet?

王林
王林轉載
2024-02-09 12:54:08333瀏覽

使用 gosdk 在 Dynamodb 中执行 UpdateItem 时如何将 ValueBuilder 对象声明为 StringSet?

php小編蘋果在這裡為大家介紹一個使用gosdk在Dynamodb中執行UpdateItem時將ValueBuilder物件宣告為StringSet的方法。在Dynamodb中,StringSet是一種資料類型,用於儲存字串集合。透過使用ValueBuilder對象,我們可以方便地建構這個StringSet,從而實現對Dynamodb中的資料進行更新操作。接下來,我們將詳細介紹如何使用gosdk來實現這個過程。

問題內容

注意:可能看起來像是與此重複,但它有所不同,因為我需要透過golang 執行此操作,而這是在js 中。

我想在 gosdk 中對 dynamodb 專案執行以下操作:

updateexpression: 'add socialaccounts :socialaccountid',
 expressionattributevalues: {
   ':socialaccountid': {
      'ss': [socialaccountid]
    }
 },

在 gosdk 的典型實作方式是:

expression.add(expression.name("socialaccounts"), expression.value([]string{"socialaccountid"}))

但是,sdk 並未將字串陣列視為 ss(stringset) 類型,而是視為 l(list) 類型。

記錄的錯誤:

65bcdb1af85f

我無法在文件中找到任何指定如何提及類型的功能。

誰能幫忙嗎?

為什麼我想這樣做:

  1. 即使屬性 socialaccounts 不存在,我也希望它能夠正常運作。
  2. 我不想將 set 操作與 list_append 一起使用,因為這可能會引入重複元素。

解決方法

如果需要指定類型,請使用dynamodb.attributevalue

65bcdb27f61a

輸出:

{
  SS: ["socialAccountId"]
}

以上是使用 gosdk 在 Dynamodb 中執行 UpdateItem 時如何將 ValueBuilder 物件宣告為 StringSet?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:stackoverflow.com。如有侵權,請聯絡admin@php.cn刪除