我有一个集合,我使用 $query 从中获取特定类型的用户
然后我需要根据 user_id 升序对它们进行排序并将它们限制为 2000
从这些我需要最大 user_id,所以我按降序对它们进行排序并限制为 1。
但是第二个排序忘记了 2000 的限制,并从 find() 对整个光标进行排序。
任何解决方法?
$cursor = $collection ->find($query) // too many entries
->sort(array('user_id'=>1)) // go ascending
->limit(2000) // got our limited qouta
->sort(array('user_id'=>-1)) // go descending to get max
->limit(1); // the one with max(user_id)