如何解决DynamoDB查询中未定义的地图列表返回
我正在查询DynamoDB。它具有一个名为“多个单位”的属性,其结构如下:List [Map {Map {S {},S},...]
我在本地测试了一个lambda:
module.exports.getByAddress = async (event) => {
const params = {
TableName: process.env.tableName,Key: {
Address: event.pathParameters.address
}
};
var docClient = new AWS.DynamoDB.DocumentClient({apiVersion: '2012-08-10'});
docClient.get(params).promise().then(
returnResult => console.log(returnResult)
)
}
这是输出:
Item: {
...
license: '',Coordinates: { lng: '-71.075985',lat: '42.346096' },'Multiple Units': [ [Object],[Object],[Object] ],...
}
当我尝试console.log Multiple Units列表时,我不确定。 在阅读有关DynamoDB get / getItem的文章时,我猜想它与异步有关,但是我无法配置将导致正确输出的更改。
解决方法
根据您的评论,您提到执行undefined
时得到console.log(returnResult['Multiple Units'])
。
仔细查看console.log(returnResult)
正在打印什么:
Item: {
...
license: '',Coordinates: { lng: '-71.075985',lat: '42.346096' },'Multiple Units': [ [Object],[Object],[Object] ],...
}
请注意,它正在使用密钥map
打印Item
。因此,要获取您的数据,请尝试console.log(returnResult.Item['Multiple Units'])
您可以查看DynamoDB SDK API以获得有关get
通话结果的更多信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。