Mongoose 模式字段在 MongoDB 中反向排序

Mongoose schema fields are reverse ordered in MongoDB

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

架构如下:

这是插入函数:

这是我在 Robomongo 中看到的内容:

我的问题是,与我在模式中定义字段的方式相比,为什么字段的排序方式倒退?

两件事:

  • 当您使用 Javascript 中的对象时,您无法像使用数组(或 Map/Set/TypedArray 等)。因此,当您在 Mongoose 中将该配置对象作为模式传递时,我的猜测是它 不会 将其转换为某个有序数组,并可能将其保留为对象形式。要确切地了解它是如何进行的,您需要查看源代码,然后是 mongodb 驱动程序模块,然后(如果答案仍然不存在)可能会查看 MongoDB 存储东西以及它在内部使用什么样的数据结构。我猜订单 不是 保证:)

  • RoboMongo 是一个 GUI,因此它显示数据的方式不一定与 mongodb 保存的数据的顺序相同——很可能是为了便于阅读而排序的.

有帮助吗?