我正在尝试使用索引主键用新元素更新表中的项目。我的索引主键是storeId,我想更新或添加新元素到具有给定storeId的所有项目中。
我曾尝试在查询中使用更新表达式,当我尝试使用此查询时,它收到错误消息:“消息:提供的键元素与架构不匹配”。有什么办法可以解决这个问题?
这是Iam用于向现有Items添加新字段的代码,在Item中有storeAddress空数组用于添加新元素。或者我想将所有元素添加为项目中的新字段而不是数组
var params = {
TableName: "Users",
IndexName: "storeId-index",
Key: {
"storeId": storeId,
},
"UpdateExpression": "SET #attrName = :attrValue",
"ExpressionAttributeNames": {
"#attrName": "storeAddress"
},
"ExpressionAttributeValues": {
":attrValue": { title: title, street: street, city: city, state: state, country: country, postCode: postCode }
},
ReturnValues: "UPDATED_NEW"
};
docClient.update(params, (error) => {
if (error) {
console.log(error);
}
else {
console.log("success");
}
// res.json({ id, name, info });
});
得到错误“消息:'提供的关键元素与模式不匹配”。我没有找到一种使用索引主键(storeId)向表中的现有项目添加新元素的方法,这种情况在我看来并非唯一。