【发布时间】:2014-08-29 21:47:13
【问题描述】:
我的集合命名结果具有以下值:-
> db.result.findOne()
{
"_id" : ObjectId("53b05264421aa97e980ba404"),
"result" : [
{
"attempted" : 49,
"subject_total_marks" : 50,
"score" : 15,
"correct_subject_answer" : 15,
"subject" : "Biology"
},
{
"attempted" : 30,
"subject_total_marks" : 30,
"score" : 4,
"correct_subject_answer" : 4,
"subject" : "Chemistry"
},
{
"attempted" : 20,
"subject_total_marks" : 20,
"score" : 7,
"correct_subject_answer" : 7,
"subject" : "Physics"
},
{
"attempted" : 99,
"correct_subject_answer" : 26,
"score" : 26,
"subject_total_marks" : 100,
"subject" : "Total"
}
],
"useruid" : NumberLong(548),
"exam_code" : 301,
"ess_time" : 1404062120
}
现在我想根据结果数组中的“总分”的“分数”对集合进行排序。然后根据物理,数学的分数排序,然后根据化学,最后是生物学。
【问题讨论】:
-
你应该为一个好问题投赞成票,因为显然反对者不明白你不能只应用
.sort()修饰符和.find()来做到这一点。还编辑了您的标题以明确这一点。 -
@NeilLunn 感谢您的编辑...但是该怎么做呢?
标签: python mongodb sorting mongodb-query aggregation-framework