首页 >后端开发 >Golang >使用 gosdk 在 Dynamodb 中执行 UpdateItem 时如何将 ValueBuilder 对象声明为 StringSet?

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

王林
王林转载
2024-02-09 12:54:08380浏览

使用 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删除