php - 为什么这种 mongo 排序在 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))

很容易犯错,但如果你没有马上看到它会很沮丧。

https://stackoverflow.com/questions/16199015/

相关文章:

java - 带有Java play 2.0的mongodb数据库

node.js - Mongoose 不更新嵌入式文档

ruby-on-rails - Rails + MongoID - 按属性查询

mongodb - 与 skip() 和 limit() 一起使用的 Distinct() 命令

javascript - 如何在 mongodb-native findAndModify 中使用变

node.js - 如何在 mongoose、Node.js 中通过 var 设置键?

node.js - 模型操作的 Sails.js 身份验证

c# - MongoDB + C# 驱动程序 + 查询元素数组,其中每个数组元素包含要查询的子文档

mongodb - 如何使用 c# 在 mongodb 中增加一个字段

php - mongodb:查找列的最高数值