试图调用类别为“ Doctrine \ ODM \ MongoDB \ Aggregation \ Builder”的名为“ allowDiskUse”的未定义方法

问题描述 投票:0回答:1

我正在尝试最后一次购买商品,位置和批次。因此,我尝试通过分组获取每个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个回答
1
投票

根据错误,构建器中没有allowDiskUsage。您应该将其作为选项传递给execute方法,您可以在此处查看:https://github.com/doctrine/mongodb-odm/issues/1979

© www.soinside.com 2019 - 2024. All rights reserved.