集計を行う場合は、SQLと同様に行う必要があります。つまり、列ごとに集計操作を指定します。唯一のオプションは、$$ROOT
を使用することです。 オペレーター
db.test.aggregate(
[
{ $sort: { timestamp: 1 } },
{
$group:
{
_id: "$fooId",
timestamp: { $last: "$$ROOT" }
}
}
]
);
しかし、それは出力を少し変えるでしょう
{ "_id" : "1", "timestamp" : { "_id" : ObjectId("570e6be3e81c8b195818e7fa"),
"fooId" : "1", "status" : "A", "timestamp" :ISODate("2016-01-01T00:00:00Z"),
"otherInfo" : "BAR" } }
元のドキュメント形式を返したい場合は、おそらくその後に$projectステージが必要です