Node.js 在Nodejs中使用DynamoDB中的多个条件获取记录
我想在dynamodb中创建一个新用户,但在此之前,我想检查用户是否存在于db中。这里的主分区键是username。我想检查条件中的emailId和用户名。两者都应该是独一无二的。比如说Node.js 在Nodejs中使用DynamoDB中的多个条件获取记录,node.js,amazon-dynamodb,Node.js,Amazon Dynamodb,我想在dynamodb中创建一个新用户,但在此之前,我想检查用户是否存在于db中。这里的主分区键是username。我想检查条件中的emailId和用户名。两者都应该是独一无二的。比如说 user1 user1@gmail.com user2 user2@gmail.com user3 user3@gmail.com Example1当我创建一个新用户时username=user4和emailId=user1@gmail.com不应创建新用户,因为emailId已存在 示例2当我创建一个新用
user1 user1@gmail.com
user2 user2@gmail.com
user3 user3@gmail.com
Example1当我创建一个新用户时username=user4和emailId=user1@gmail.com不应创建新用户,因为emailId已存在
示例2当我创建一个新用户时username=user1和emailId=user4@gmail.com不应创建新用户,因为用户名已存在
因此,这些是场景。有人能告诉我什么是最好的解决方案吗
我使用扫描方法找到了解决方案
const AWS = require('aws-sdk');
const dynamoDb_DocumentClient = new AWS.DynamoDB.DocumentClient();
let params = {
TableName: "OP-User",
ProjectionExpression: 'userName, emailAddress',
FilterExpression: "userName = :userName OR emailAddress = :emailAddress",
ExpressionAttributeValues: {
":userName": "user1",
":emailAddress": "user111@asurion.com"
}
};
dynamoDb_DocumentClient.scan(params, function (err, data) {
if (err) {
console.log("err: " + err);
}
console.log("data: " + data);
});
我们能有另一个解决方案吗?使用查询,Indexname?这样地。
如有任何建议,将不胜感激
谢谢,在创建和编辑项目之前,使用AWS DynamoDB比较用户名和ID属性