使用PHP(Laravel5)过滤多个键上的DynamoDb记录

时间:2019-05-13 11:28:52

标签: php laravel-5 amazon-dynamodb

我管理一个Laravel 5应用,该应用将数据存储到AWS DynamoDb表中。
它具有3列:

  • id:分区主键
  • 时期:排序主键
  • 数据:一个很大的加密字符串(〜50 ko)

我使用https://github.com/baopham/laravel-dynamodb与该存储进行互动。

可以对单个记录进行CRUD操作。
但是我还需要计算/列出/删除在 id 和/或期间上过滤的记录。

伪代码:

function scope($mode) {
    $scope = DynamoDbEntry::orderBy('id')->orderBy('period');

    if (!empty($ids)) {
        $scope->whereIn('id', $ids);
    }

    if (!empty($periods)) {
        $scope->whereIn('period', $periods);
    }

    if ($mode === 'count') {
        return $scope->count();
    }

    if ($mode === 'delete') {
        $scope->delete();
        return true;
    }

    return $scope->get();
}

这部分效果不佳:似乎查询仅“看”到数据的第一个Mb。 例如,一个不带过滤器的计数查询说该表仅包含15条记录,而不是94条。

我是NoSQL世界的新手,我想我已经了解了一些问题。

数据组织得井井有条吗?
如何过滤多个键上的记录?

任何启发都会受到感激。 谢谢:-)

0 个答案:

没有答案