Amazon dynamodb DynamoDB:从主键获取所有排序键

Amazon dynamodb DynamoDB:从主键获取所有排序键,amazon-dynamodb,dynamodb-queries,Amazon Dynamodb,Dynamodb Queries,我有一个带有主键和排序键的表;因为这是一个复合键,所以我有多个主键映射到不同的排序键 如何获取与特定主键关联的所有排序键? 我尝试使用“Get”操作,但这似乎也需要排序键(尽管我正在寻找这些键)。我还研究了“BatchGet”操作,但这是针对多个不同的键,而不是针对具有多个不同排序键的单个主键 我也尝试过“查询”,但没有成功,但我对这一点了解较少,所以有可能这就是解决方案——是这样吗?我也知道,我可以“扫描”整个数据库,特别是找到具有特定主键的所有项目,但如果可能的话,我希望避免这种情况 我正在

我有一个带有主键和排序键的表;因为这是一个复合键,所以我有多个主键映射到不同的排序键

如何获取与特定主键关联的所有排序键?

我尝试使用“Get”操作,但这似乎也需要排序键(尽管我正在寻找这些键)。我还研究了“BatchGet”操作,但这是针对多个不同的键,而不是针对具有多个不同排序键的单个主键

我也尝试过“查询”,但没有成功,但我对这一点了解较少,所以有可能这就是解决方案——是这样吗?我也知道,我可以“扫描”整个数据库,特别是找到具有特定主键的所有项目,但如果可能的话,我希望避免这种情况

我正在使用JS并将其用作参考:

谢谢大家!

Query()
是您想要的

基本上,您只需使用
HashKey=:hkey
的键条件查询表(或索引),并保留任何
的排序键条件

在您链接到的文档中,有一个部分用于修改该示例

var params = {
  TableName: 'Table',
  KeyConditionExpression: 'HashKey = :hkey',
  ExpressionAttributeValues: {
    ':hkey': 'key'
  }
};

var documentClient = new AWS.DynamoDB.DocumentClient();

documentClient.query(params, function(err, data) {
   if (err) console.log(err);
   else console.log(data);
});

您可以使用
query
方法,如果
query
的结果包括
LastEvaluatedKey
,这意味着您有更多数据要获取,让我们将
LastEvaluatedKey
值放入下一个查询以获取下一个数据,再次重复,直到
LastEvaluatedKey
为空或未定义。