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

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

王林
发布: 2024-02-09 12:54:08
转载
369 人浏览过

使用 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
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板