在MongoDB的文件中指出:
对于具有多个键的索引(即复合索引),字段顺序很重要。
但是ECMAScript定义一个对象如下:
对象是对象类型的成员。它是属性的无序集合,每个属性都包含原始值,对象或函数。
当使用MongoDB
in node.js
(例如通过使用此模块)时,您正在使用服务器端javascript,如以下示例所示。
当MongoDB期望object
(又称无序属性集合)时,如何指定序列?
collection.ensureIndex({
date : -1,
client : 1,
product : 1
});
在MongoDB中,文档中字段的顺序确实很重要,并且所有语言驱动程序都提供了一种以这种方式指定文档的方法,即使基础编程语言没有这种概念也是如此。
MongoDB在其外壳中使用的文档格式类似于JSON,但不是严格的JSON。除其他事项外,始终保留字段顺序。
在Javascript中,该标准将字段定义为无序的,因此实现可以随意忽略/不保留顺序。但实际上,所有实现均会保留顺序。特别是V8 engine
保留顺序,这是所使用的引擎,node.js
因此没有问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句