繁体   English   中英

Doctrine2 ODM 限制不起作用 / mongodb

[英]Doctrine2 ODM Limit doesn't work / mongodb

我试图跳过和限制结果,但我什至没有得到它来限制结果。

这是我的代码

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

    var_dump(count($foos));
    exit;

并且 var_dump 返回

int(321235)

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

$this->mongo->getManager() 

是实例

Doctrine\ODM\MongoDB\DocumentManager

并且构建器是实例

Doctrine\ODM\MongoDB\Query\Builder"

我只是不明白出了什么问题,感谢您的任何提示

所以,我自己找到了答案

it is working !

我学到了:

当您 count() 一个游标时,无论查询什么,它都会返回数据库中所有实体的数量。

所以我检查计算光标以查看限制是否正常工作是错误的

使用 count($result->toArray()) 解决了我的问题

count($result->toArray())

您可以使用$result->count($foundOnly = true)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM