amazon-web-services - 如果项目在 DynamoDB 中不存在,则放入表中
问题描述
我只想在项目不存在时添加它。我不知道该怎么做。目前我在不检查条件的情况下成功添加(无论项目是否存在,它都会添加)。代码是:
const params = {
TableName: MY_TABLE,
Item: myItem
};
documentClient.put(params).promise()
.catch(err => { Logger.error(`DB Error: put in table failed: ${err}`) });
}
我需要添加什么才能使代码检查项目是否存在,如果存在,则返回?
注意:我不想使用数据库映射器。我希望使用 AWS.DynamoDB 类编写代码
解决方案
DynamoDB 支持Conditional Writes,允许您为要插入/更新的项目定义需要成功的检查。
推荐阅读
- android - 通过命令行混淆 Android 源文件并生成 APK
- node.js - 全局 Knex.raw 已弃用,使用 knex.raw (链接一个初始化的 knex 对象)
- amazon-web-services - AWS ELB - SSL/TLS 终止混淆
- java - 为什么 Pod 重启几次后由于 liveliness 探测失败而进入 CrashLoopBackOff
- mysql - 尝试使用子查询执行查询
- javascript - SMTP URL 的正则表达式。可以简化吗?
- apache-kafka - Kafka 分区重复导致的乱序事件
- reactjs - 如何将依赖于项目中 TS 声明合并文件的组件添加到我的 bit.dev 集合中?
- python - Pandas 数据框 - 仅比较一列中具有匹配标签的行的其他列中的值
- javascript - 将字符串解析为浮点数