[英]Pagination in dynamo db
我要在我的角度Js應用程序上設置分頁。 我目前正在使用此查詢。 查詢文件
TableName: 'articles_staging',
IndexName: 'feeds_feedname-index',
KeyConditions: {
"feeds_feedname": {
"AttributeValueList": [{
"S": arrayfeeds[j]
}
],
"ComparisonOperator": "EQ"
}
}
我如何使用此應用分頁。
好吧,一個不好的新消息是DynamoDB中沒有分頁(特別是沒有OFFSET參數)。 我有此函數供scan()
處理分頁(PHP代碼):
private function scan($table, $filter = [], $select = null, $limit = 10)
{
$page = isset($_GET['page']) ? $_GET['page'] : 0;
$options = [
'TableName' => $table,
'Count' => true,
];
if (!empty($limit)) {
$options['Limit'] = $limit;
}
if (!is_null($select)) {
$options['Select'] = $select;
}
if (!empty($filter)) {
$options['ScanFilter'] = $filter;
}
// For pagination:
$results = $this->_client->scan($options);
while ($page > 0 && isset($results['LastEvaluatedKey'])) {
$results = $this->_client->scan($options);
$options['ExclusiveStartKey'] = $results['LastEvaluatedKey'];
$page--;
}
return $results;
}
$this->_client
this- $this->_client
引用DynamoDB連接
如您所見,我在響應中檢查LastEvaluatedKey
(如果存在),這意味着在數據庫中仍然沒有返回條目。 比我循環直到此參數消失為止。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.