node.js - 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 或者何时使用哪个。
谢谢!
解决方案
从文档来看, DocumentClient 只是一个抽象类,以使其更易于实现。
文档客户端通过抽象出属性值的概念来简化对 Amazon DynamoDB 中项目的处理。此抽象注释作为输入参数提供的原生 JavaScript 类型,并将带注释的响应数据转换为原生 JavaScript 类型。
您可以自由选择所需的任何方法,但是通过使用DocumentClient
该类,您对数据的处理或操作的控制将更少。
推荐阅读
- c# - 根据条件 C# 比较两个列表
- php - 为什么 $http_response_header 总是为空?
- c++ - 未能通过 shared_ptr
作为 shared_ptr 参考 - javascript - 散景 - 如何创建可隐藏的侧边栏
- python - 使用 train_test_split 拆分数据时与之后加载 csv 文件的精度不同
- postgresql - pg_restore:错误:无法执行查询:错误:函数 public.st_accum(public.geometry) 不存在
- sql - REGEXP_COUNT 忽略区分大小写
- c# - C# 将文本文件行读取为空行
- linux - NLog - 在 linux 的特定目录中创建日志文件
- mongodb - Mongodb更新与子文档匹配的子文档值并且不更改其他字段