我正在尝试获取最后购买的项目,位置和批次。所以我试图通过分组来获取每个人的 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