javascript - ValidationException: ExpressionAttributeValues must not be empty - Stack Overflow

Even though ExpressionAttributeValues is not empty it gives me this error ValidationException: Expressi

Even though ExpressionAttributeValues is not empty it gives me this error ValidationException: ExpressionAttributeValues must not be empty

app.post('/gpsfromuser', passport.authenticate('jwt', {session: false}), (req, res) => {

    var xcorpassed = req.body.xcor
    var ycorpassed = req.body.ycor
    console.log(xcorpassed);
console.log(ycorpassed);

    var params = {
      TableName:passengers,
      Key:{
        "pid": req.user.id
      },
      UpdateExpression: "set cordx=:x, cordy=:y",
      ExpressionAttributeValues:{
        ":x":xcorpassed,
        ":y":ycorpassed
      },
      ReturnValues:"UPDATED_NEW"
    };
console.log("Updating the item...");
docClient.update(params, function(err, data) {
  if (err) {
    console.error("Unable to update item. Error JSON:", JSON.stringify(err, null, 2));
    } else {
    console.log("UpdateItem succeeded:", JSON.stringify(data, null, 2));
    return res.status(200).json({msg: "success1"});
  }
});

Even though ExpressionAttributeValues is not empty it gives me this error ValidationException: ExpressionAttributeValues must not be empty

app.post('/gpsfromuser', passport.authenticate('jwt', {session: false}), (req, res) => {

    var xcorpassed = req.body.xcor
    var ycorpassed = req.body.ycor
    console.log(xcorpassed);
console.log(ycorpassed);

    var params = {
      TableName:passengers,
      Key:{
        "pid": req.user.id
      },
      UpdateExpression: "set cordx=:x, cordy=:y",
      ExpressionAttributeValues:{
        ":x":xcorpassed,
        ":y":ycorpassed
      },
      ReturnValues:"UPDATED_NEW"
    };
console.log("Updating the item...");
docClient.update(params, function(err, data) {
  if (err) {
    console.error("Unable to update item. Error JSON:", JSON.stringify(err, null, 2));
    } else {
    console.log("UpdateItem succeeded:", JSON.stringify(data, null, 2));
    return res.status(200).json({msg: "success1"});
  }
});
Share Improve this question asked Oct 3, 2017 at 8:47 LeonardoLeonardo 951 gold badge4 silver badges10 bronze badges 5
  • Following information will help to identify what's the issue: 1. what is the value of xcorpassed and ycorpassed when update is executed? 2. what is doc client? how did you create it? 3. output of execution of this function and the exact error that you faced. – Neeraj Sharma Commented Oct 3, 2017 at 16:29
  • Docclient is instantiated from aws sdk, xcorpassed and ycorpassed are strings. The output is an error that I posted in the description. – Leonardo Commented Oct 3, 2017 at 17:22
  • Leonardo, I think I got what you shared already. My request was to see the code execution, what values are being passed at run time etc. I tried this code and it all works fine in my local. It would help if you can show me the run time execution if this function, like I'm sharing in next ment. Most likely, some values are not as expected during run time and your code works is a proof of that. – Neeraj Sharma Commented Oct 3, 2017 at 22:42
  • test-so:515> node test-so.js testx testy Updating the item... {"TableName":"test-so-table","Key":{"pid":"test"},"UpdateExpression":"set cordx=:x, cordy=:y","ExpressionAttributeValues":{":x":"testx",":y":"testy"},"ReturnValues":"UPDATED_NEW"} UpdateItem succeeded: { "Attributes": { "cordy": "testy", "cordx": "testx" } } – Neeraj Sharma Commented Oct 3, 2017 at 22:42
  • Ok I handled it thanks for your interest. The problem was in another function, the function that set up passport-jwt. Cheers – Leonardo Commented Oct 4, 2017 at 7:07
Add a ment  | 

1 Answer 1

Reset to default 3

This error occurs if the values of the Expression Attributes are undefined.

For debugging, I had the values of the Expression Attributes printed before the params were initialized.

console.log('X Coordinate: ' + xcorpassed);
console.log('Y Coordinate: ' + ycorpassed);

I hope the answer helps!

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744274642a4566269.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信