amazon-web-services - 如何检查 dynamoDB 中是否已经存在 EmaiID?
问题描述
我在 lambda 函数中使用节点 js。当用户尝试将一些数据放入发电机数据库时,它应该检查数据库中是否存在emailID...只有当emailID不存在时,数据才应该在数据库中更新...如果emailID存在,它应该提示emilID 已经存在的用户...
下面是我用来将数据放入数据库的代码...但它不会检查 emailID 是否存在...我需要检查数据库中是否存在 emilID...仅当不存在数据的应该更新...何这样做请帮助我
enter code here
var docClient = new AWS.DynamoDB.DocumentClient();
exports.handler = (event, context, callback) => {
// TODO implement
var tableName = "Test";
console.log(event.EmailID)
var parms = {
TableName : tableName,
Item : {
"EmailID" : event.EmailID,
"CustomerName" : event.CustomerName,
"PersonName" : event.PersonName,
"EmailSent" : event.EmailSent,
"Password" : event.Password
}
};
docClient.put(parms, function(err, data)
{
if (err){
callback(err)
}
else
{
callback(null,"Successfully updated data!!!")
}
})
};
关键条件表达式:
const AWS = require('aws-sdk');
var doc
Client = new AWS.DynamoDB.DocumentClient();
var tableName = "Testing";
exports.handler = (event, context, callback) => {
var EmailID = event.EmailID; // or any other var which is having emaiID
console.log(event)
var params= {
TableName: 'Testing',
Key: {ConditionExpression: 'attribute_exists(event.EmailID)'
}
};
docClient.get(params, function(err, data){
if(err){
callback(err, data);
}else{
callback(err, data);
}
});
}
解决方案
您正在寻找的是一个条件表达式。向下滚动到“防止覆盖现有项目”部分标题。
推荐阅读
- python - Flask 为 404 错误返回随机模板
- spring - Spring Boot 测试多个具有相同 bean 名称的项目
- algorithm - 消除传感器测量中的尖峰
- email - 如何将我的谷歌工作表的工作 pdf 附加到草稿电子邮件?
- css - 如何将 HTML 模板中的 css/js 集成到 laravel 应用程序中?
- r - 每次在 R Shiny 中发生动作时,如何更新数据框?
- c# - 从控制器发送值到控制器
- swift - 使用 SwiftUI 和 Mapbox 处理 MGLMapView 中同一地址的多个注释
- android - 如何在命令行中使用 Android Test Orchestrator?
- mongodb - 使用 Axios 连接到 MongoDB Realm GraphQL 端点时如何避免 CORS 问题?