为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
拉风的咖菲猫 2021-06-27 13:35:56
count()如果 Symfony-MongoDB-ODM 中的数据为空,则执行odm 查询(游标)不会返回“0”$query = $this->dm->createQueryBuilder('AppBundle:DocumentName');$count = $query->getQuery()->count();var$count总是返回大于零(“0”)的值。即使文档中没有数据注意:将游标转换为数组会消耗更多内存,请原谅这种方法。
查看完整描述

2 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

您可以使用 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);


查看完整回答
反对 回复 2021-07-02
?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

你应该做:

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

问候


查看完整回答
反对 回复 2021-07-02
  • 2 回答
  • 0 关注
  • 105 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信