2017-09-13 3 views
4
docClient.update({ 
    TableName: 'patient', 
    Key: { 
     "patientId": "TIGERPAT0001" 
    }, 
    UpdateExpression: "set title = :x, name = :y", 
    ExpressionAttributeNames: { 
     "#name": "name" 
    }, 
    ExpressionAttributeValues: { 
     ":x": 'title value abc', 
     ":y": 'name value xyz' 
    } 
}, function (err, data) { 
    if (err) { 
     json.status = '0'; 
     json.result = { 'error': 'Unable to Edit Patient : ' + JSON.stringify(err) }; 
     res.send(json); 
    } else { 
     json.status = '1'; 
     json.result = { 'sucess': 'Patient Edited Successfully :' }; 
     res.send(json); 
    } 
}); 

lorsque l'utilisation code ci-dessus, je me suis res:Le nombre de conditions sur les touches est invalide dynamo db avec nœud de

Impossible de modifier l'erreur patient: {"message":"The number of conditions on the keys is invalid","code":"ValidationException","time":"2017-09-13T07:12:56.608Z","requestId":"a01c707c-86b4-41a5-a1c5-92b9ea07c026","statusCode":400,"retryable":false,"retryDelay":6.368631970657979}

ce qui me manque/toute erreur ??

Répondre

1

Je pense que vous avez utilisé plusieurs clés lors de la création de la table.

Si vous avez utilisé n nombre de touches tout en créant table, ici aussi vous devez passer n nombre de clés:

Ex:

docClient.update({ 
    TableName: 'patient', 
    Key: { 
     "patientId": "TIGERPAT0001", 
     "id1": "id1value", 
     "id2": "id2value" 
    }, 
    UpdateExpression: "set title = :x, name = :y", 
    ExpressionAttributeNames: { 
     "#name": "name" 
    }, 
    ExpressionAttributeValues: { 
     ":x": 'title value abc', 
     ":y": 'name value xyz' 
    } 
}, function (err, data) { 
    if (err) { 
     json.status = '0'; 
     json.result = { 'error': 'Unable to Edit Patient : ' + JSON.stringify(err) }; 
     res.send(json); 
    } else { 
     json.status = '1'; 
     json.result = { 'sucess': 'Patient Edited Successfully :' }; 
     res.send(json); 
    } 
}); 

S'il vous plaît remplacer id1 et id2 avec vos clés