猿问

如果 Symfony-MongoDB-ODM 中的数据为空

count()如果 Symfony-MongoDB-ODM 中的数据为空,则执行odm 查询(游标)不会返回“0”


$query = $this->dm->createQueryBuilder('AppBundle:DocumentName');

$count = $query->getQuery()->count();

var$count总是返回大于零(“0”)的值。即使文档中没有数据


注意:将游标转换为数组会消耗更多内存,请原谅这种方法。


拉风的咖菲猫
浏览 106回答 2
2回答

梵蒂冈之花

您可以使用 AggregationBuilder。在你的 documentNameRepository 中试试这个代码:$qb = $this->createAggregationBuilder('Document\DocumentName');$qb->count('nb_documents');$results = $qb->execute();return $results;您可以在计数之前执行 where 操作,如下所示:$qb->match()   ->field('field_name')   ->equals(10);您可以在计数之前执行限制和跳过操作,如下所示:$qb->skip(10)   ->limit(100);

米琪卡哇伊

你应该做:$count = $query->getQuery()->getSingleScalarResult();问候
随时随地看视频慕课网APP
我要回答