Amazon dynamodb DynamoDB-通过全局二级索引获取项目

Amazon dynamodb DynamoDB-通过全局二级索引获取项目,amazon-dynamodb,dynamodb-queries,amazon-dynamodb-index,Amazon Dynamodb,Dynamodb Queries,Amazon Dynamodb Index,我有一个现有的表,它有10个字段。字段如下所示: AuthID、UserID、年龄、职务等 该表存储我的用户的数据。“AuthID”是主键,“UserID”是全局辅助索引 当我通过AuthID获取项目时,一切正常。但我无法通过用户ID获取项目。我尝试了GetItem、Query和Scan方法,但这三种方法都失败了 我需要能够使用以下3种方法获取数据: 1 - Get user data by AuthID (It's already works fine) 2 - Get user data b

我有一个现有的表,它有10个字段。字段如下所示:

AuthID、UserID、年龄、职务等

该表存储我的用户的数据。“AuthID”是主键,“UserID”是全局辅助索引

当我通过AuthID获取项目时,一切正常。但我无法通过用户ID获取项目。我尝试了GetItem、Query和Scan方法,但这三种方法都失败了

我需要能够使用以下3种方法获取数据:

1 - Get user data by AuthID (It's already works fine)
2 - Get user data by UserID
3 - Get user data by AuthID and UserID both

AuthID和UserID是唯一的。有人能告诉我该怎么做吗?

我在文档中搜索了很多内容,发现如果您需要获取单个项目,即使在使用全局二级索引时,也不能使用get或getItem方法。可以使用查询方法。下面是一个具有全局二级索引的查询方法示例

let params = {
  TableName: "Users",
  IndexName: "your-index",
  ExpressionAttributeValues: {
    ":v1": "myid"
  }, 
  KeyConditionExpression: "my_partition_key_in_gsi = :v1", 
};
 dynamodb.query(params, function(err, data) {
   if (err) console.log(err, err.stack); // an error occurred
   else     console.log(data);           // successful response
 });

你能用你用来获取数据的代码更新这个问题吗?