NODE.js Lambda dynamodb documentClient get -返回的数据不是[] JSON格式,如何从GET返回完整的JSON文档数据类型

qxgroojn  于 2022-12-15  发布在  Node.js
关注(0)|答案(1)|浏览(151)

我是Node.js/AWS lambda的新手,我已经成功地创建了几个documentClient QUERY函数,这些函数返回了一个或多个JSON文档项,格式如下:
[ {“姓名”:“安迪”,“颜色”:“紫色”、“零食”:“奥利奥”} ]
当我使用documentClient GET并取回我的单个记录时,它是这种格式的,这不能很好地与客户端代码(apple / ios swift)配合使用
{“姓名”:“刘德华”,“颜色”:“紫色”、“零食”:“奥利奥”
我希望我可以更改documentClient.get()返回的格式,以包含填充JSON文档格式,包括前导和尾随括号..[]
我是node.js & aws.lambda和documentClient的新手,所以如果这是一个非常基本的问题,请道歉。
在上文中提供

42fyovps

42fyovps1#

如果我理解得不错,你接收的是一个对象而不是数组,你可以使用scan函数来检索结果数组:

var params = {
  TableName : 'Table',
  FilterExpression : 'Year = :this_year',
  ExpressionAttributeValues : {':this_year' : 2015}
};

var documentClient = new AWS.DynamoDB.DocumentClient();

documentClient.scan(params, function(err, data) {
   if (err) console.log(err);
   else console.log(data);
});

也可以将结果转换为数组:

const document = await documentClient.get({
  TableName: "table-of-example",
  Key: {
    id: "id-of-example"
  }
});

return [data]

请阅读文档以了解dynamodb sdk文档的工作原理:https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html#scan-property

相关问题