我需要更新我的发电机表上属性中的嵌套对象。 我正在对数组进行批处理以获取参数。但是,使用
TransactWriteItems
的操作失败并出现以下错误:
UnhandledPromiseRejectionWarning:ValidationException:无效 UpdateExpression:文档中使用的表达式属性名称 路径未定义;属性名称:#useAutoCost
我正在发送这些参数:
{
"TransactItems": [
{
"Update": {
"TableName": "XXXXtest",
"Key": {
"windFarmTurbineKey": "XXXXX1",
"key": "testxxx"
},
"UpdateExpression": "SET observations.#insp.#manualCost = :manualCost, observations.#insp.#useAutoCost = :useAutoCost",
"ExpressionAttributeNames": {
"#insp": "2022-08-18-2",
"#manualImpact": "manualImpact",
"#useAutoImpact": "useAutoImpact"
},
"ExpressionAttributeValues": {
":manualImpact": 800,
":useAutoImpact": false
}
}
}
]
}
我遵循了第二个选项:使用
update
并且它有效。
我想知道为什么无法使用
transactWrite
更新嵌套对象。我在文档中没有找到任何内容...
有什么想法吗? 谢谢
出现
undefined
失败的情况听起来不像是写的,如果没有看到您的代码,我们无法提供帮助。
但是一个
UpdateItem
和一个UpdateItems
内的一批TrasnactWriteItem
没有区别。
您尚未在 AttributeValueNames 中定义
#useAutoCost
。