Ind*_*ndy 2 php find limit mongodb
我在MongoDB PHP驱动程序中使用此代码来获取数据库中的所有文档
$result = $collection->find();
foreach ($result as $doc) {
print_r($doc);
}
Run Code Online (Sandbox Code Playgroud)
但是,当添加限制时,它不再起作用:不再打印文档:
$result = $collection->find()->limit(10);
foreach ($result as $doc) {
print_r($doc);
}
Run Code Online (Sandbox Code Playgroud)
数据库中肯定有足够的文档.我无法弄清楚这是什么问题.
我已经通过查看测试版的来源解决了这个问题.该文档似乎仅适用于旧版mongo扩展,而不是较新的mongodb扩展.
错误日志显示:Call to undefined method MongoDB\\Driver\\Cursor::addOption().我检查了文档并得出结论,该功能应该有效,因为它说(PECL mongo >=0.9.0).注意丢失db之后mongo.
我通过执行以下操作来修复它:
$collection->find([], [ 'limit' => 2 ]);,提供一个空的过滤器数组,然后在另一个数组中添加我的选项.