簡體   English   中英

Dynamo DB中的分頁

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM