Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

like image 974
john Smith Avatar asked Dec 26 '22 07:12

john Smith


1 Answers

So, I found out the answer myself

it is working !

and I learned:

when you count() a cursor, no matter what the 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

like image 165
john Smith Avatar answered Jan 04 '23 18:01

john Smith