0

所以我有一个 Ruby 脚本,我在其中找到“成绩”集合中“学生”数据库(MongoDB)中所有类型为“家庭作业”的文档。事情是,按照以下说明进行操作:

http://api.mongodb.org/ruby/current/file.TUTORIAL.html

我尝试按分数排序,然后按学生 ID(或反之亦然):

homeworks.sort(:score, 1).sort(:student_id, 1).to_a

并运行文件(“mongo.rb”),我得到按分数(升序)而不是按学生 ID 排序的作业输出......(它们被打乱了)如果我尝试切换值,我得到的数组按student_id(升序)但不是按分数...(在这种情况下,分数值被打乱)

如何使用 ruby​​ 在 mongo 中按两个参数升序排序?

4

2 回答 2

2

根据文档,尝试

homeworks.sort([[:score, 1], [:student_id, 1]]).to_a
于 2012-11-03T22:36:07.210 回答
0

这个怎么样:

c = db['grades']
x = c.find({}, {:sort=>[[:student_id, 1], [:score, 1]]}).to_a

这在 irb 中对我有用。

于 2012-11-04T15:34:39.533 回答