Aws lambda 递增AWS Lambda和DynamoDB中嵌套属性中的值
这是我添加新字段或增加嵌套属性的查询Aws lambda 递增AWS Lambda和DynamoDB中嵌套属性中的值,aws-lambda,aws-sdk-nodejs,Aws Lambda,Aws Sdk Nodejs,这是我添加新字段或增加嵌套属性的查询 const params = { TableName: process.env.DYNAMODB_GAMES_TABLE, Key: { id: gameId }, UpdateExpression: 'set players.#player.#score = players.#player.#score + :s', ExpressionAttributeNames: { '#playe
const params = {
TableName: process.env.DYNAMODB_GAMES_TABLE,
Key: {
id: gameId
},
UpdateExpression: 'set players.#player.#score = players.#player.#score + :s',
ExpressionAttributeNames: {
'#player': playerId,
'#score': 'score'
},
ExpressionAttributeValues: {
':s': 1
},
ReturnValues: "ALL_NEW"
};
这就是我得到的错误
{
"message": "The document path provided in the update expression is invalid for update",
"code": "ValidationException",
"time": "2020-05-21T03:03:14.328Z",
"requestId": "Q04QEP1G3E2LAM43I04ADLM4IRVV4KQNSO5AEMVJF66Q9ASUAAJG",
"statusCode": 400,
"retryable": false,
"retryDelay": 27.814212380235393
}
我的物体看起来像
{
"id": "09e7a690",
"players": {
"M3EDJeHtoAMCLJg": [
{
"cardId": "1",
"cardTitle": "test",
"pun": "this is a pun"
}
]
}
}
具有此ID的玩家是否存在?否则,它将失败并显示此错误消息。您可能应该添加一个中间步骤,使用
创建具有给定ID的播放器(如果不存在)。看看这里:是的,你是对的。它有助于从JavaScript对象的角度进行思考,一旦单击它,一切都变得非常完美:)很高兴评论很有帮助。具有此ID的玩家是否存在?否则,它将失败并显示此错误消息。您可能应该添加一个中间步骤,使用创建具有给定ID的播放器(如果不存在)。看看这里:是的,你是对的。它有助于从JavaScript对象的角度进行思考,一旦单击它,所有这些都变得非常完美:)很高兴评论是有帮助的