我试图跳过并限制结果,但我甚至没有限制结果。
这是我的代码
$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"
我只是不明白什么是错的,谢谢任何提示
答案 0 :(得分:7)
所以,我自己找到了答案
it is working !
我学到了:
当你计算()一个游标时,无论查询是什么,它都会返回数据库中所有实体的数量。
所以我检查计数光标以查看限制是否有效
答案 1 :(得分:0)
使用count($ result-> toArray())来解决我的问题
try:
# See if client has disconnected.
try:
data = (await asyncio.wait_for(client_reader.readline(),timeout=0.01))
except ConnectionResetError, ConnectionAbortedError) as e:
break # Client disconnected
except TimeoutError:
pass # Client hasn't disconnect
答案 2 :(得分:0)
您可以使用$result->count($foundOnly = true)