登录
首页 >  Golang >  Go问答

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

来源:stackoverflow

时间:2024-02-16 19:24:25 404浏览 收藏

学习知识要善于思考,思考,再思考!今天golang学习网小编就给大家带来《如何在使用 gosdk 在 Dynamodb 中执行 UpdateItem 时将 ValueBuilder 对象声明为 StringSet?》,以下内容主要包含等知识点,如果你正在学习或准备学习Golang,就都不要错过本文啦~让我们一起来看看吧,能帮助到你就更好了!

问题内容

注意:可能看起来像是与此重复,但它有所不同,因为我需要通过 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?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>