0

我花了大约 2 小时试图找出这里出了什么问题......

我试图通过desc asc大约一些“点”对数组进行排序,所以我打电话给MyDoc.Members.sort(function(a, b) { return b.points - a.points; });

它没有用,stringify我的文档,复制/粘贴并在 chrome 控制台上应用相同的“排序脚本”,完美运行,我在节点 shell 上尝试,也按预期工作,但在我的代码中,它只是以“奇怪”的方式订购东西。

唯一的区别是我在工作,Mongoose Model所以我猜sort我们在文档嵌套数据上调用的方法已经被原生 javascript 覆盖了......?

如果是,您知道我们如何sort method通过 Array.prototype 或其他技巧调用 javascript 本机吗?

4

1 回答 1

1

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

var doc = MyDoc.toObject();
doc.Members.sort(function(a, b) { return b.points - a.points; });
于 2013-08-26T20:49:13.790 回答