0
想要獲取該記錄的字段speed
及其對應的其他字段的最大值。Symfony2 Mongodb聚合 - 獲取字段的最大值
有這樣的MongoDB查詢:
db.Neo.aggregate({
$group: {
_id: '$name',
date: { $first: '$date' },
neo_reference_id: { $first: '$neo_reference_id' },
name: { $first: '$name' },
speed: {
$max: "$speed"
},
is_potentially_hazardous_asteroid: { $first: '$is_potentially_hazardous_asteroid' }
}
});
現在,因爲我使用的Symfony2和蒙戈-ODM-聚集束,想要得到此查詢執行:
public function neofastestAction() {
$expr = new \Solution\MongoAggregation\Pipeline\Operators\Expr;
$aq = $this->get('doctrine_mongodb.odm.default_aggregation_query')->getCollection('NeoNasaBundle:Neo')->createAggregateQuery();
$result = $aq->group(['_id'=>'$name' ])
->getQuery()->aggregate()->toArray();
$serializer = $this->get('jms_serializer');
$response = $serializer->serialize($result,'json');
return new Response($response);
}
此執行,但只打印_id
。如何從上面構建我的MondoDB查詢到Symfony2 mongo-odm-aggregation-bundle(https://packagist.org/packages/solution/mongo-odm-aggregation-bundle)並獲取最後一行?它應該是speed
的最高值,因此是最快的小行星。
謝謝。