Node.js 在Nodejs中使用DynamoDB中的多个条件获取记录

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当我创建一个新用

我想在dynamodb中创建一个新用户,但在此之前,我想检查用户是否存在于db中。这里的主分区键是username。我想检查条件中的emailId和用户名。两者都应该是独一无二的。比如说

user1 user1@gmail.com
user2 user2@gmail.com
user3 user3@gmail.com 
Example1当我创建一个新用户时username=user4emailId=user1@gmail.com不应创建新用户,因为emailId已存在

示例2当我创建一个新用户时username=user1emailId=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属性