Javascript ValidationException:ExpressionAttributeValue不能为空
尽管ExpressionAttributeValues不是空的,但它给了我以下错误ValidationException:ExpressionAttributeValues不能为空Javascript ValidationException:ExpressionAttributeValue不能为空,javascript,node.js,amazon-web-services,express,aws-sdk,Javascript,Node.js,Amazon Web Services,Express,Aws Sdk,尽管ExpressionAttributeValues不是空的,但它给了我以下错误ValidationException:ExpressionAttributeValues不能为空 app.post('/gpsfromuser', passport.authenticate('jwt', {session: false}), (req, res) => { var xcorpassed = req.body.xcor var ycorpassed = req.body.y
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"});
}
});
如果表达式属性的值未定义,则会发生此错误 为了进行调试,我在初始化参数之前打印了表达式属性的值
console.log('X Coordinate: ' + xcorpassed);
console.log('Y Coordinate: ' + ycorpassed);
我希望答案有帮助 如果表达式属性的值未定义,则会发生此错误 为了进行调试,我在初始化参数之前打印了表达式属性的值
console.log('X Coordinate: ' + xcorpassed);
console.log('Y Coordinate: ' + ycorpassed);
我希望答案有帮助 以下信息将有助于确定问题所在:1。执行更新时,xcorpassed和ycorpassed的值是多少?2.什么是doc客户端?你是怎么创造的?3.此函数的执行输出以及您遇到的确切错误。Docclient是从aws sdk实例化的,xcorpassed和ycorpassed是字符串。输出是我在描述中发布的一个错误。莱昂纳多,我想我已经得到了你分享的东西。我的请求是查看代码执行情况、运行时传递的值等。我尝试了这段代码,在我的本地环境中一切正常。如果你能告诉我这个函数的运行时执行情况,这会很有帮助,就像我在下一篇评论中分享的那样。最有可能的是,某些值在运行时并不像预期的那样,您的代码可以证明这一点。
test so:515>node test-so.js testx testy正在更新项。。。{“TableName”:“test so table”,“Key”:{“pid”:“test”},“UpdateExpression”:“set cordx=:x,cordy=:y”,“ExpressionAttributeValues”:{:x:“testx”,“:y:“testy”},“ReturnValues”:“UPDATED_NEW”}UpdateItem successed:{“Attributes”:{“cordy:”testy”,“cordx:“testx”}
好的,谢谢你的关注。问题出在另一个函数中,即设置passport jwt的函数。欢呼以下信息将有助于确定问题所在:1。执行更新时,xcorpassed和ycorpassed的值是多少?2.什么是doc客户端?你是怎么创造的?3.此函数的执行输出以及您遇到的确切错误。Docclient是从aws sdk实例化的,xcorpassed和ycorpassed是字符串。输出是我在描述中发布的一个错误。莱昂纳多,我想我已经得到了你分享的东西。我的请求是查看代码执行情况、运行时传递的值等。我尝试了这段代码,在我的本地环境中一切正常。如果你能告诉我这个函数的运行时执行情况,这会很有帮助,就像我在下一篇评论中分享的那样。最有可能的是,某些值在运行时并不像预期的那样,您的代码可以证明这一点。test so:515>node test-so.js testx testy正在更新项。。。{“TableName”:“test so table”,“Key”:{“pid”:“test”},“UpdateExpression”:“set cordx=:x,cordy=:y”,“ExpressionAttributeValues”:{:x:“testx”,“:y:“testy”},“ReturnValues”:“UPDATED_NEW”}UpdateItem successed:{“Attributes”:{“cordy:”testy”,“cordx:“testx”}
好的,谢谢你的关注。问题出在另一个函数中,即设置passport jwt的函数。干杯