我尝试过多种变体来让mongodb php按得分降序进行排序。它不会做到这一点。
这是我的剧本
$dd=array('gameID'=>(int)$gameID);
$s=array( 'score' => -1);
$cursor = $collectiontsWon->find($dd)->sort($s)->limit(7)->skip(0);
一切都是正确的,这就像我使用过的8种变体。但它不是按照我网站上的分数排序。我做错了什么?
答案 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));
//按年龄下降和日期升序排序
?>