我正在尝试最后一次购买商品,位置和批次。因此,我尝试通过分组获取每个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();
我的预期结果是
项目名称,位置,批次,最后购买的数量。
根据错误,构建器中没有allowDiskUsage
。您应该将其作为选项传递给execute
方法,您可以在此处查看:https://github.com/doctrine/mongodb-odm/issues/1979