You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js Lambda中DynamoDB DocumentClient.get返回格式调整问题

解决AWS Lambda中DocumentClient.get返回格式统一为数组的问题

直接在处理get请求的结果时,将返回的Item字段包装进数组即可,和你之前用QUERY返回的格式保持一致:

const AWS = require('aws-sdk');
const docClient = new AWS.DynamoDB.DocumentClient();

exports.handler = async (event) => {
  const params = {
    TableName: '你的表名',
    Key: {
      // 替换成你的主键字段和对应值,比如id: event.pathParameters.id
      id: event.id
    }
  };

  try {
    const getResult = await docClient.get(params).promise();
    // 将单个Item包装为数组,无数据则返回空数组
    const formattedData = getResult.Item ? [getResult.Item] : [];
    
    return {
      statusCode: 200,
      body: JSON.stringify(formattedData)
    };
  } catch (err) {
    return {
      statusCode: 500,
      body: JSON.stringify({ error: err.message })
    };
  }
};

关键说明:

  • docClient.get()的结果里,Item字段对应找到的单条记录(如果存在)
  • 用三元判断处理两种情况:找到数据就把它放进数组;没找到则返回空数组[],避免Swift客户端解析时出现格式不匹配的问题
  • 保持和你之前QUERY函数相同的返回结构(statusCode+JSON字符串化的数组),确保客户端逻辑统一

内容的提问来源于stack exchange,提问作者Andrew Treacy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 16:25:28