Как я могу сделать лимит DynamoDB после фильтрации?

Я хотел бы реализовать сканирование DynamoDB со следующей логикой:

Сканирование -> Фильтрация (логическое значение true или false) -> Ограничение (для разбиения на страницы)

Тем не менее, я смог реализовать сканирование только с помощью этой логики:

Сканирование -> Ограничение (для нумерации страниц) -> Фильтрация (логическое значение true или false)

Как мне этого добиться?

Ниже приведен пример, в котором реализована вторая логика сканирования:

    var parameters = {
        TableName: this.tableName,
        Limit: queryStatement.limit
    };
    if ('role' in queryStatement) {
        parameters.FilterExpression = '#role = :role';
        parameters.ExpressionAttributeNames = {
            '#role': 'role'
        };
        parameters.ExpressionAttributeValues = {
            ':role': queryStatement.role
        };
    }
    if ('startKey' in queryStatement) {
        parameters.ExclusiveStartKey = { id: queryStatement.startKey};
    }

    this.documentClient.scan(parameters, (errorResult, result) => {
        if (errorResult) {
            errorResult._status = 500;
            return reject(errorResult);
        }

        return resolve(result);
    });

Этот код работает как второй.

Сканирование -> Ограничение -> Фильтрация

Ответы на вопрос(3)

Ваш ответ на вопрос