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

DynamoDB: Get All Sort Keys from Primary Key

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

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

我尝试使用 "Get" 操作,但这似乎也需要排序键(即使这些正是我要找的)。我还查看了 "BatchGet" 操作,但这是针对多个不同的键,而不是针对具有多个不同排序键的单个主键。

我也尝试过 "query" 但没有成功,但我对此了解较少,所以这可能是解决方案 - 是这样吗?我也知道我可以 "scan" 整个数据库并专门查找具有该特定主键的所有项目,但我希望尽可能避免这种情况。

我正在使用 JS 并将其用作参考:https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html

谢谢!

Query()就是你想要的...

基本上,您只需查询具有 HashKey = :hkey 键条件的 table(或索引),并忽略任何 AND 排序键条件...

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

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);
});