首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MongoDB PHP驱动程序和相关的PHPLib库中使用skip()和limit()实现简单分页时出错

在MongoDB PHP驱动程序和相关的PHPLib库中使用skip()和limit()实现简单分页时出错
EN

Stack Overflow用户
提问于 2017-11-24 10:44:46
回答 1查看 379关注 0票数 0

在使用PHP从MongoDB访问数据时,我试图实现分页。在OFFSET中,我会使用LIMIT.和MySQL我的Google搜索告诉我,PHP的替代方案是skip()limit().。

但是当我尝试使用这些函数时,我会得到一个致命的错误。以下是错误:

代码语言:javascript
复制
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)。问题是我哪里出错了?我遗漏了什么?我该怎么解决这个问题?

代码语言:javascript
复制
<?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;
}

?>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-24 16:51:47

试着使用这个:

代码语言:javascript
复制
<?php 

$filter = [];
$options = [
    'limit' => 25,
    'skip' => 25
];

$allDataCursor = $collection->find($filter, options);

?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47471570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档