DynamoDB更新失败,验证异常



我使用Dynamodb与Dynamodb npm包,当我想更新我的仓库表内的数据,我得到以下错误。它将更新我的数据,但突然崩溃与一个无意义的错误。有什么问题吗?

ValidationException: Invalid KeyConditionExpression: An expression attribute value used in expression is not defined; attribute value: :name

代码:

let updateData = {
customer: 'mrpen',
name: warehouseInfo.name,
street1: warehouseInfo.street1 ? warehouseInfo.street1 : 'N/A',
street2: warehouseInfo.street2 ? warehouseInfo.street2 : 'N/A',
city: warehouseInfo.city ? warehouseInfo.city : 'N/A',
state: warehouseInfo.state ? warehouseInfo.state : 'N/A',
country: warehouseInfo.country,
zip: warehouseInfo.zip ? warehouseInfo.zip : 'N/A',
contactName: warehouseInfo.contactName ? warehouseInfo.contactName : 'N/A',
contactEmail: warehouseInfo.contactEmail ? warehouseInfo.contactEmail : 'N/A',
contactPhone: warehouseInfo.contactPhone ? warehouseInfo.contactPhone : 'N/A',
inventoryName: data[0].attrs.inventoryName,
};
const res = Warehouse.update(updateData, (err, res) => {
if (err) {
throw new Error('update warehouse failed!');
} else {
console.log(res);
return true;
}
});

name属性是DynamoDB中的保留字之一。您可以重命名该属性,也可以定义一个表达式属性名来代替保留字。

更多关于表达式属性的信息见文档。

最新更新