Doctrine2 ODM限制不起作用/ mongodb

joh*_*ith 3 php mongodb symfony doctrine-orm

我试图跳过并限制结果,但我甚至没有限制结果.

这是我的代码

    $limit=5;
    $fooQueryBuilder = $this->mongo->getManager()->createQueryBuilder('CustomCoreBundle:Foo');
    $foos=$fooQueryBuilder->limit($limit)->getQuery()->execute();

    var_dump(count($foos));
    exit;
Run Code Online (Sandbox Code Playgroud)

并且var_dump返回

int(321235)
Run Code Online (Sandbox Code Playgroud)

这等于数据库中的所有实体,我做错了什么?

$this->mongo->getManager() 
Run Code Online (Sandbox Code Playgroud)

是的例子

Doctrine\ODM\MongoDB\DocumentManager
Run Code Online (Sandbox Code Playgroud)

而构建器是.的实例

Doctrine\ODM\MongoDB\Query\Builder"
Run Code Online (Sandbox Code Playgroud)

我只是不明白什么是错的,谢谢任何提示

joh*_*ith 8

所以,我自己找到了答案

it is working !
Run Code Online (Sandbox Code Playgroud)

我学到了:

当你计算一个游标时,无论查询是什么,它都会返回数据库中所有实体的数量.

所以我检查计数光标以查看限制是否有效是完全错误的