如何用mongodb php排序

时间:2014-03-16 16:11:27

标签: php mongodb

我尝试过多种变体来让mongodb php按得分降序进行排序。它不会做到这一点。

这是我的剧本

  $dd=array('gameID'=>(int)$gameID);
  $s=array( 'score' => -1);
  $cursor = $collectiontsWon->find($dd)->sort($s)->limit(7)->skip(0);

一切都是正确的,这就像我使用过的8种变体。但它不是按照我网站上的分数排序。我做错了什么?

2 个答案:

答案 0 :(得分:0)

尝试设置光标,然后对数据进行排序

$cursor = $mongo->collection->find()->limit(7);

$cursor = $cursor->sort(array("score" => -1));
foreach($cursor as $doc) {
    // Do something...
}

另外,我认为你不需要明确地将skip设置为0.

答案 1 :(得分:0)

<?php

$cursor->sort(array('x' => 1)); //按字段x排序,升序

//关联数组中的顺序很重要。例如,这两个 //示例将产生不同的结果:

$cursor->sort(array('date' => 1, 'age' => -1)); //按日期升序和年龄降序排序

$cursor->sort(array('age' => -1, 'date' => 1)); //按年龄下降和日期升序排序

?>