- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有范围键 CreationDate 的 Message 表...
如何查询任意页面?这是否可能无需提供上一个查询返回的 LastEvaluatedKey?这意味着客户端还必须跟踪它并在每个请求中返回它。这不允许您在不进行每个中间查询的情况下跳转到任意页面。
我是否必须更新另一个仅包含 PageKey = someTimestamp 的表 MessagePageKeys 以实现快速页面检索?
QueryRequest queryReq = new QueryRequest();
queryReq.WithTableName(tableName);
queryReq.WithLimit(perPage);
var startIndex = startPage * perPage;
queryReq.WithExclusiveStartKey(new Key
{
HashKeyElement = new AttributeValue().WithN(hashKeyValue),
RangeKeyElement = new AttributeValue().WithN(prevKey.ToString() )
});
// sort by newest (highest time signature)
queryReq.ScanIndexForward = false;
最佳答案
不,不使用“lastEvaluatedKey”是不可能的。
最后评估的 key 不一定存在,它只需要是一个有效的 key ,这可能对您有用。例如,如果您在同一哈希键下有以下范围键:
6
9
12
15
如果你想要范围键大于 10 的所有内容,你可以创建一个范围键 10
的独占 StartKey,然后你会返回
12
15
这与更有用的“页面边界”定义相结合(比如我想查看这一小时或这一分钟的每一项,等等)可能对您有用。我觉得数据消费者很少会知道“我的结果在第八页上,不管自从我上次查询该表以来其他数据发生了怎样的变化”。
关于pagination - 发电机 : is there a way to get an arbitrary page without LastEvaluatedKey?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14995061/
DynamoDB 文档(例如 here)解释了如何使用 LastEvaluatedKey 对结果进行分页。我知道它有效,但我想了解如何。据我所知,DynamoDB 在分区键上构建了一个无序的哈希索引。
param.FilterExpression = "#black_listed = :black_listed_val"; param.Limit = 5 param.ExpressionAt
使用 javascript aws-sdk 并通过文档客户端查询 dynamodb 表。该表包含 10个元素和查询 限制 = 5 . 对于每个请求,我使用 LastEvaluatedKey 构建新查询
我正在使用 AWS 托管具有 API 网关和 DynamoDB 直接集成的 API。 我现在正在尝试为我的应用程序添加分页功能,但我很难 100% 实现它。我面临的问题是当我向后扫描时,我会给你一个例
按照我的理解。 查询操作将在提到的索引上寻找结果,直到满足以下条件之一 结果集已用完。 检索到的项目数达到 Limit 参数的值(如果已指定)。 检索的数据量达到 1 MB 的最大结果集大小限制。 记
我有一个带有范围键 CreationDate 的 Message 表... 如何查询任意页面?这是否可能无需提供上一个查询返回的 LastEvaluatedKey?这意味着客户端还必须跟踪它并在每个请
boto3 和 dynamodb 分页器的文档指定在分页时应返回 NextToken,然后您将在下一个查询中包含该 token 以获取开始 token 以恢复分页 session (通过 RESTfu
我是一名优秀的程序员,十分优秀!