Amazon web services 如何在AWS Lambda node.js中为updateitem dynamodb创建运行时参数
我想为ExpressionAttributeValues创建JSON,如下所示:Amazon web services 如何在AWS Lambda node.js中为updateitem dynamodb创建运行时参数,amazon-web-services,aws-lambda,amazon-dynamodb,Amazon Web Services,Aws Lambda,Amazon Dynamodb,我想为ExpressionAttributeValues创建JSON,如下所示: const AWS = require('aws-sdk'); const dynamodb = new AWS.DynamoDB({region: 'ap-south-1', apiVersion: '2012-08-10'}); exports.handler = (event, context, callback) => { updateExpression = null; var express
const AWS = require('aws-sdk');
const dynamodb = new AWS.DynamoDB({region: 'ap-south-1', apiVersion: '2012-08-10'});
exports.handler = (event, context, callback) => {
updateExpression = null;
var expressionAttributeValues = {};
if (event.father_status != undefined) {
if (updateExpression == null) {
updateExpression = "set father_status = :fs";
}
else {
updateExpression += ", father_status = :fs"
}
expressionAttributeValues.fs = {S: event.father_status};
}
if (event.mother_status != undefined){
if (updateExpression == null) {
updateExpression = "set mother_status = :ms";
}else {
updateExpression += ", mother_status = :ms"
}
expressionAttributeValues.ms = {S: event.mother_status};
}
var params = {
TableName: "user-family-background",
Key:{
"user_id": {
S: event.user_id
}
},
UpdateExpression: updateExpression,
ExpressionAttributeValues: expressionAttributeValues,
ReturnValues:"ALL_NEW"
};
dynamodb.updateItem(params, function(err, data) {
if(err){
console.log("error: " + err);
callback(err);
}
else {
console.log("sucsess: " + JSON.stringify(data));
callback(null, data);
}
});
console.log(params);
console.log(updateExpression);
console.log(JSON.stringify(expressionAttributeValues));
};
但我得到的是这样的JSON
{ ':fs': { S: 'employed' }, ':ms': { S: 'homemaker' } }
不带:fs前面的冒号和ms
如果有人能提供帮助,我们将不胜感激。将您的代码更改为
{ 'fs': { S: 'employed' }, 'ms': { S: 'homemaker' } }
及
嘿,谢谢你,你解决了我的问题。非常感谢你。
expressionAttributeValues[':fs'] = {S: event.father_status};
expressionAttributeValues[':ms'] = {S: event.mother_status};