john Smith john Smith - 4 months ago 22
PHP Question

Doctrine2 ODM Limit doesn't work / mongodb

I'm trying to skip and limit results, but I don't even get it to limit the results.

here's my code

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

var_dump(count($foos));
exit;


and the var_dump returns

int(321235)


and that's equal to all entities in the database, what am I doing wrong ?

$this->mongo->getManager()


is instance of

Doctrine\ODM\MongoDB\DocumentManager


and the builder is instance of

Doctrine\ODM\MongoDB\Query\Builder"


I just don't understand what's wrong, thanks for any hint

Answer

so i found out the answer myself

it is working !

and i learned:

when you count() a cursor, no matter what query, it returns the amount of all entities in database.

so my check to count the cursor to see if the limit is working was simply wrong

Comments