0
我有MongoDB的1個集結構像這個 -MongoDB的GROUPBY不同的排序一起
{
"_id" : ObjectId("54d34cb314aa06781400081b"),
"entity_id" : NumberInt(440),
"year" : NumberInt(2011),
}
{
"_id" : ObjectId("54d34cb314aa06781400081e"),
"entity_id" : NumberInt(488),
"year" : NumberInt(2007),
}
{
"_id" : ObjectId("54d34cb314aa06781400081f"),
"entity_id" : NumberInt(488),
"year" : NumberInt(2008),
}
{
"_id" : ObjectId("54d34cb314aa067814000820"),
"entity_id" : NumberInt(488),
"year" : NumberInt(2009),
}
{
"_id" : ObjectId("54d34cb314aa067814000827"),
"entity_id" : NumberInt(489),
"year" : NumberInt(2009),
}
所以在輸出我想,我應該得到「ENTITY_ID」,最大「年」而已。(與「488」 ENTITY_ID猜想「年份」應該是2009年)。 我曾嘗試寫作查詢
$fin_cursor = $db->command(array(
"distinct" =>"Profit_and_Loss",
"key" =>'entity_id',
"query" => array(array('$and'=>$financial_pl_search_array),array('$sort'=>array("year"=>-1))),
));
輸出
我想2場「ENTITY_ID」和「年」。 任何人都可以建議我做到這一點的最佳方式。 在此先感謝。
thanx的幫助。你救了我的一天。是否可以添加額外的查詢參數到這個聚合函數? – user1673091 2015-03-02 06:30:50
@ user1673091查看['$ match'](http://docs.mongodb.org/manual/reference/operator/aggregation/match/)的文檔以及所有聚合流水線運算符和一般示例。在理性的情況下,你做不到的事情並不多。 – 2015-03-02 06:34:44
我在上面的代碼中添加了'$ match'=> array('entity_id'=> array('$ in'=> array_values($ Entities))),然後給出錯誤,「異常:流水線階段指定對象必須包含一個字段「。 – user1673091 2015-03-02 07:12:38