Amazon dynamodb 如何从DynamoDB中的分区键列表中获取属性-扫描是我唯一的选择吗?

Amazon dynamodb 如何从DynamoDB中的分区键列表中获取属性-扫描是我唯一的选择吗?,amazon-dynamodb,Amazon Dynamodb,我有一个表中的分区键列表 userId["123","456","235"] 我需要得到一个他们都共享的属性。比如“用户名” 一次将它们全部获取的最佳实践是什么 扫描是我唯一知道我知道所有分区键的选项吗 我知道分拣钥匙吗?是的,但只是开始。所以我 我想我不能用batchGetItem 只有在不知道分区键的情况下,扫描才合适。因为您知道要搜索的分区键,所以可以通过多个操作实现所需的行为 查询使用指定的分区键搜索所有文档;每个请求只能查询一个分区键,因此需要多个查询,但这仍然比单个扫描操作要高效得

我有一个表中的分区键列表

userId["123","456","235"]
我需要得到一个他们都共享的属性。比如“用户名”

一次将它们全部获取的最佳实践是什么

扫描是我唯一知道我知道所有分区键的选项吗

我知道分拣钥匙吗?是的,但只是开始。所以我 我想我不能用batchGetItem


只有在不知道分区键的情况下,扫描才合适。因为您知道要搜索的分区键,所以可以通过多个操作实现所需的行为

查询使用指定的分区键搜索所有文档;每个请求只能查询一个分区键,因此需要多个查询,但这仍然比单个扫描操作要高效得多

如果只查找以某物开头的排序键的文档,可以将其与分区键一起包含在
KeyConditionExpression


例如,如果您只想返回排序键以某个字符串开头的文档,您可以传递类似于
userId=:user\u id并以(#SortKey,:str)
作为键条件表达式的内容。

谢谢Collin,但是运行多个查询不会比只执行一次扫描更昂贵吗?不会。查询仅使用与键条件匹配的项的RCU。扫描会消耗表中所有内容的RCU(或直到停止扫描为止)。在这种情况下,如何将
lastEvaluatedKey
返回给客户端?多个查询将具有多个LastEvaluatedKey。有没有办法解决这个问题?