【问题标题】:Attempted to call an undefined method named "allowDiskUse" of class "Doctrine\ODM\MongoDB\Aggregation\Builder试图调用类“Doctrine\ODM\MongoDB\Aggregation\Builder”的未定义方法“allowDiskUse”
【发布时间】:2020-05-19 21:54:43
【问题描述】:

我正在尝试使用项目、位置和批次获取最后一次购买。因此,我尝试通过分组来获取每个 ID。我不能使用组命令,因为它是一个巨大的数据,不能被组命令处理。

 $builder = $dManager->createAggregationBuilder('UserPurchases');        
 $builder->hydrate(false);
 $builder->match()->field('isRemoved')->equals(false)
                ->field('createdAt')->lte($dateEndVal)
                ->group()->field('id')
                ->expression(
                        $builder->expr()
                        ->field('item')
                        ->expression('$item')
                        ->field('location')
                        ->expression('$location')
                        ->field('batch')
                        ->expression('$batch')
        )
        ->skip($skip)->limit($limit)    ;
$builder->allowDiskUse(true);
$purchase = $builder->execute();

我的预期结果是

项目名称、位置、批次、最后购买数量。

【问题讨论】:

    标签: mongodb symfony aggregation-framework doctrine-odm odm


    【解决方案1】:

    根据错误,构建器中没有allowDiskUsage。你应该把它作为一个选项传递给execute 方法,你可以看看这里:https://github.com/doctrine/mongodb-odm/issues/1979

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-28
      • 1970-01-01
      • 1970-01-01
      • 2015-04-10
      • 1970-01-01
      • 1970-01-01
      • 2017-08-13
      • 1970-01-01
      相关资源
      最近更新 更多