[英]Unable to update in DynamoDB
我正在嘗試使用以下代碼更新數據庫:
const patchParams = {
TableName: 'users',
Key: {
email,
},
UpdateExpression: `set oauth_tokens.oauth_token1 = :a`,
ExpressionAttributeValues: {
':a': accessToken,
},
ReturnValues: "UPDATED_NEW"
};
dynamoDb.update(patchParams, (putError, result) => {
console.log(putError, result);
但它總是拋出此錯誤: The document path provided in the update expression is invalid for update', code: 'ValidationException'
我認為這可能是因為尚未填充email
字段。 有沒有辦法放置新條目並更新它?
我認為這里有兩個錯誤。
首先是你的鑰匙。 AWS文檔中的所有代碼示例(例如,類似於此頁面 )都可以讓您使用
Key: {
'email': email,
},
第二個問題是,如果此項是新的(數據庫中尚未存在),則不能使用oauth_tokens.oauth_token1
作為文檔路徑。 oauth_tokens
還不存在,因此嘗試直接引用其子級之一是無效的。
相反,您應該使用
UpdateExpression: 'set oauth_tokens = :a',
ExpressionAttributeValues: {
':a': { 'oauth_token1': accessToken },
},
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.