使用Go SDK,如何将DynamoDB表项目字段设置为地图?

时间:2018-07-11 22:13:22

标签: go amazon-dynamodb

我正在尝试使用UpdateItem方法将表项字段的值设置为地图。这是我尝试过的:

type myStruct {
  name string
}

myStructInstance := myStruct{name: "foo"}

_, err := svc.UpdateItem(&dynamodb.UpdateItemInput{
  TableName: aws.String("MyTable"),
  Key: myKey,
  ExpressionAttributeValues: map[string]*dynamodb.AttributeValue{
    ":m": {
      M: dynamodbattribute.MarshalMap(*myStructInstance),
    },
  },
  UpdateExpression: aws.String("SET myField = :m"),
})

有了这个,我不断得到错误:

multiple-value dynamodbattribute.MarshalMap() in single-value context

我在做什么错了?

1 个答案:

答案 0 :(得分:1)

啊,我忘记了arr函数有两个返回值,所以我不得不这样做:

MarshalMap