Javascript排序无法正常工作

时间:2014-01-02 10:22:11

标签: javascript mongodb sorting

我试图从这种形式的mongodb中对json对象进行排序:

{"_id" : 99999999, "dni": 99999999, "marks" : 7}

我有一个像这样的对象数组,我试图用“标记”对它进行排序:

myArray.sort(function( o1, o2 ){ return o1.marks < o2.marks });

但它似乎没有起作用...... 我做错了什么?

1 个答案:

答案 0 :(得分:4)

尝试

myArray.sort(function( o1, o2 ){ return o1.marks - o2.marks });

sort函数不应返回布尔值,而应返回负值,0或正值。 Here are the docs。当值相等时返回0很重要,因为排序算法将进行许多比较,并且不能保证一个元素总是位于比较的左侧。

根据你的索引你也可以让MongoDB进行排序:

db.col.find({}).sort({marks: 1});