Php 拉韦尔蒙哥布群比

Php 拉韦尔蒙哥布群比,php,mongodb,laravel,Php,Mongodb,Laravel,我正在尝试使用Laravel MongoDB包从MongoDB中选取最后一条记录。我在数据库中有一个多事务ID,由于某些原因,其中一些是重复的ID。在这种情况下,我需要groupby事务id,并根据时间对其进行排序,得到最后一个 范例 transcation_id status timestamps 1 success 2 success 3 failed 4 success 3

我正在尝试使用Laravel MongoDB包从MongoDB中选取最后一条记录。我在数据库中有一个多事务ID,由于某些原因,其中一些是重复的ID。在这种情况下,我需要
groupby
事务id,并根据时间对其进行排序,得到最后一个

范例

transcation_id status timestamps
1              success 
2              success
3              failed
4              success
3              failed
5              success
3              success
因此,当我查询时,我需要
3
transaction\u id
作为
success
,这是带有时间戳的最后一个状态。但是,我的查询将
3
作为
failed

$query  = MyCollection::whereIn('app_id' , $appId->toArray())
                ->select(['transcation_id',.....,'created_at'])
                ->orderBy('updated_at')
                ->groupBy('transcation_id')
                ->get();

请纠正我哪里做错了。

Laravel collections有最后一种方法

Model::all() -> last(); // last element 
这是最好的方法


要获得更好的解决方案,请使用此

jessenger Laravel MongoDB包是否支持
last
方法?@ArunCode是支持jessenger Alsortried,该方法似乎不起作用<代码>调用未定义的方法jensegers\Mongodb\Query\Builder::last()