Mongoose模式字段在MongoDB中是反向sorting的

只是想知道为什么在MongoDB GUI中查看的字段与在Mongoose中的schema的定义相比较?

这是架构:

猫鼬纲要

这里是插入function:

在这里输入图像说明

这就是我在Robomongo看到的:

在这里输入图像说明

我的问题是为什么字段的sorting方式与我在schema中定义的方式相比?

两件事情:

  • 当你在Javascript中使用对象的时候,如果你使用类似于Array(或者Map / Set / TypedArray等)的东西,你不能保证访问顺序或者持续的顺序。 所以当你在Mongoose中把这个configuration对象作为一个模式传递时,我的猜测是它不会将它转换成有序数组,并且可能保持它的对象forms。 为了追踪到底是怎么回事,你需要先看看源代码,然后是mongodb驱动程序模块,然后(如果答案仍然不存在),可以查看MongoDB如何存储事物以及什么types的数据它在内部使用的结构。 我猜顺序保证:)

  • RoboMongo是一个GUI,所以它显示数据的方式不一定与mongodb所保存的数据的顺序相同 – 它可能是为了更容易阅读而分类的。

这有帮助吗?