如何在Mongoose模型上对嵌套数据进行排序?

时间:2013-08-26 20:34:00

标签: javascript mongoose

我花了大约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

1 个答案:

答案 0 :(得分:1)

在您的mongoose模型实例上调用toObject将其转换为您可以操作的普通对象:

var doc = MyDoc.toObject();
doc.Members.sort(function(a, b) { return b.points - a.points; });