在Go中(Haven未经其他语言测试)使用属性键为int的地图中删除属性不起作用。
复制
params := &dynamodb.UpdateItemInput{
Key: //someKey//
ExpressionAttributeNames: map[string]*string {
"#test": aws.String("test"),
},
UpdateExpression: aws.String("REMOVE #test.1"),
TableName: aws.String("someTable"),
}
out, err := db.UpdateItem(params)
if(err != nil){
fmt.Println(err)
}
fmt.Println(*out)
以上将发出错误:
ValidationException: Invalid UpdateExpression: Syntax error; token: "1", near: ".1"
使用数字键添加属性是没有问题的,显然是删除它们,有没有办法解决这个/我应该如何向aws报告?
答案 0 :(得分:0)
您还必须使用ExpressionAttributeNames替换1 "#one": aws.String("1")
,然后将UpdateExpression更改为aws.String("REMOVE #test.#one")
。