Ste*_*ick 1 javascript database amazon-web-services node.js amazon-dynamodb
从我的 aws 数据库中获取一个项目。下面的“test2”在我的控制台中正确打印为一个项目。但我想从它的项目中获取一个属性/变量,并将其作为 var test 返回。我该怎么做?例如,如果我想获取属性名称“问题”并返回它?
var test;
ddb.getItem(param, function(err, data1) {
if (err) {
console.log("Error", err);
} else {
var test2 = JSON.stringify(data1);
console.log("Get Success", test2);
test = JSON.stringify(data1, undefined, 1);
}
});
speechOutput = `Ok ${test}. Thanks, I have reported this. Do you have anything else to report?`;
callback(sessionAttributes,
buildSpeechletResponse(cardTitle, speechOutput, repromptText, shouldEndSession));
Run Code Online (Sandbox Code Playgroud)
使用 aws-sdk,您可以使用 SDK 中提供的 Converter 类将 DynamoDB 响应中的 Item 转换为外观更正常的对象:
所以如果data1看起来像这样:
const data1 = {
Item: {
"AlbumTitle": {
S: "Songs About Life"
},
"Artist": {
S: "Acme Band"
},
"SongTitle": {
S: "Happy Day"
}
}
}
Run Code Online (Sandbox Code Playgroud)
传递data1.Item到unmarshall像这样的功能:
const flat = AWS.DynamoDB.Converter.unmarshall(data1.Item);
Run Code Online (Sandbox Code Playgroud)
现在flat看起来像这样:
{
"AlbumTitle": "Songs About Life",
"Artist": "Acme Band",
"SongTitle": "Happy Day"
}
Run Code Online (Sandbox Code Playgroud)
所以你可以像平常一样访问属性:
console.log(flat.Artist) #=> "Acme Band"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1306 次 |
| 最近记录: |