0
PHPを使用してMongoDBからデータにアクセスするときにページネゴシエーションを実装しようとしています。 MySQLでは、私はOFFSET
とLIMIT
を使用しました。私のGoogle検索によると、PHP-MongoDBの代替品はskip()
とlimit()
です。MongoDB PHPドライバと関連するPHPLibライブラリのskip()とlimit()を使用した単純なページネーションを実装する際のエラー
しかし、これらの関数を使用しようとすると、致命的なエラーが発生します。
Fatal error: Uncaught Error: Call to undefined method MongoDB\Driver\Cursor::skip() in /var/www/html/Tests/test_mongo_two/test.php:12 Stack trace: #0 {main} thrown in /var/www/html/Tests/test_mongo_two/test.php on line 12
次は、この問題を示す例です(SSCCE)。質問は、どこが間違っているのでしょうか?私は何が欠けていますか?これをどうやって解決するのですか?
<?php
require 'vendor/autoload.php';
$connection = new MongoDB\Client("mongodb://localhost:27017");
$db = $connection->Traffic;
$collection = $db->frameLengthsCollection;
#$allDataCursor = $collection->find();
$allDataCursor = $collection->find()->skip(25)->limit(25);
#$allDataCursor = $allDataCursor->limit(25);
#$allDataCursor = $allDataCursor->skip(25);
/**
* Prettifying (is that a word?) of data
*/
$allDataCursorConvertedToArray = array();
foreach ($allDataCursor as $key => $value) {
$json = MongoDB\BSON\toJSON(MongoDB\BSON\fromPHP($value));
$allDataCursorConvertedToArray[] = json_decode($json, true);
}
/**
* Display!
*/
#echo "allDataCursorConvertedToArray: "; print_r($allDataCursorConvertedToArray); echo "<br><br>";
//
foreach ($allDataCursorConvertedToArray as $key => $value) {
print_r($value);
break;
}
?>