为什么这个mongo排序不能在PHP中工作?


Why is this mongo sort not working in PHP?

我遵循PHP文档中的一个示例来对集合中的一些记录进行排序:

    $cursor = $mongo->party_scores->find()->limit(10);
    $cursor = $cursor->sort(array("score",-1));
    foreach($cursor as $doc) {
        print_r($doc);
    }

这样做,我看到的文档是随机顺序的(没有排序)。

但是从mongo控制台执行这个查询会产生一个正确排序的响应:

db.party_scores.find().sort({score : -1 })

我想我看到问题了。而不是这样做:

$cursor->sort(array("score",-1))

试试这个:

$cursor->sort(array("score" => -1))

这是一个容易犯的错误,但如果你不能马上看到它,发现它会非常令人沮丧。