首页 > 解决方案 > AWS.DynamoDB 与 AWS.DynamoDB.DocumentClient - 何时使用哪一个?

问题描述

我正在学习 DynamoDB 和 AWS 无服务器堆栈。我看到很多教程都建议使用 AWS.DynamoDB.DocumentClient。例如,要创建一个项目:

const dynamodb = new AWS.DynamoDB.DocumentClient();

接着

  try {
    await dynamodb
      .put({
        TableName: process.env.DISHES_TABLE_NAME,
        Item: dish,
      })
      .promise();
  } catch (error) {
    console.error(error);
    throw new createError.InternalServerError(error);
  }

但是医生说放

通过委托给 AWS.DynamoDB.putItem() 创建新项目或用新项目替换旧项目

我很困惑为什么不首先使用 AWS.DynamoDB.putItem 或者何时使用哪个。

谢谢!

标签: node.jsamazon-web-servicesamazon-dynamodb

解决方案


文档来看, DocumentClient 只是一个抽象类,以使其更易于实现。

文档客户端通过抽象出属性值的概念来简化对 Amazon DynamoDB 中项目的处理。此抽象注释作为输入参数提供的原生 JavaScript 类型,并将带注释的响应数据转换为原生 JavaScript 类型。

您可以自由选择所需的任何方法,但是通过使用DocumentClient该类,您对数据的处理或操作的控制将更少。


推荐阅读