我花了大约2小时试图弄清楚这里出了什么问题......
我正在尝试按desc asc
对一些“点”排序数组,所以我打电话给MyDoc.Members.sort(function(a, b) { return b.points - a.points; });
并且它没有用,我stringify
我的文档,复制/粘贴并在chrome控制台上应用相同的“排序脚本”,完美运行,我在节点shell上尝试它,也按预期工作,但在我的代码中,它只是以“怪异”的方式对事物进行排序。
唯一的区别是我在Mongoose Model
工作,所以我想我们在文档嵌套数据上调用的sort
方法我已经从本机javascript中覆盖了一个......?
如果是,您是否知道我们如何通过Array.prototype或其他技巧调用javascript native sort method
?
答案 0 :(得分:1)
在您的mongoose模型实例上调用toObject
将其转换为您可以操作的普通对象:
var doc = MyDoc.toObject();
doc.Members.sort(function(a, b) { return b.points - a.points; });