Реализация нумерации страниц в базовом приложении yii2, настроенном с помощью mongo db - PullRequest
0 голосов
/ 18 февраля 2019

Я создал простое приложение yii2-basic crud, используя yii -mongo db api https://www.yiiframework.com/extension/yiisoft/yii2-mongodb и gii (генератор кода для yii)

Проблема в том, что мне нужно масштабировать приложениемиллионы записей в будущем и желают применить нумерацию страниц для запросов монго, как упомянуто здесь: https://www.codementor.io/arpitbhayani/fast-and-efficient-pagination-in-mongodb-9095flbqr (с использованием техники _id и limit)

Хотя нумерация страниц по умолчанию предоставляется приложением, но делает этопомочь масштабировать большой БД?, потому что я не знаю, как это работает.

прямая ссылка на пример приложения: http://172.104.189.102:8080/index.php?r=locations%2Findex&page=1

Индексная функция контроллера

public function actionIndex()
   {
    $searchModel = new Locations();
    $dataProvider = $searchModel->search(Yii::$app->request-  
     >queryParams);

    return $this->render('index', [
        'searchModel' => $searchModel,
        'dataProvider' => $dataProvider,
    ]);
   }

Просмотр кода

 <?= GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => [
        ['class' => 'yii\grid\SerialColumn'],

        '_id',
        'keyword',
        'Tag',
        'status',

        ['class' => 'yii\grid\ActionColumn'],
    ],
]); ?>
...