4

Just wondering why are fields when viewed in MongoDB GUI backwards compared to definition of schema in Mongoose?

Here's the schema:

Mongoose Schema

Here's the insert function:

enter image description here

Here's what I see in Robomongo:

enter image description here

My question is why are fields sorted backwards compared to the way I defined them in the schema?

4

1 回答 1

4

两件事情:

  • 当您在 Javascript 中处理对象时,您不会像使用 Array(或 Map/Set/TypedArray 等)之类的东西那样获得保证的访问顺序或持久顺序。因此,当您将该配置对象作为 Mongoose 中的模式传递时,我的猜测是它不会将其转换为某个有序数组,并且可能会将其保持为对象形式。要准确追踪它是如何进行的,您需要查看源代码,然后是 mongodb 驱动程序模块,然后(如果答案仍然不存在)可能会查看 MongoDB 如何存储事物以及什么样的数据它在内部使用的结构。我猜订单不能保证:)

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

这有帮助吗?

于 2016-01-11T01:44:53.887 回答