我试图从这种形式的mongodb中对json对象进行排序:
{"_id" : 99999999, "dni": 99999999, "marks" : 7}
我有一个像这样的对象数组,我试图用“标记”对它进行排序:
myArray.sort(function( o1, o2 ){ return o1.marks < o2.marks });
但它似乎没有起作用...... 我做错了什么?
答案 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});