20

MongoDB 文档指出:

对于具有多个键的索引(即复合索引),字段的顺序很重要。

但是 ECMAScript 定义一个对象如下:

对象是 Object 类型的成员。它是一个无序的属性集合,每个属性都包含一个原始值、对象或函数。

使用MongoDBin 时node.js(例如使用此模块),您使用的是服务器端 javascript,如下例所示。

object当 MongoDB 需要一个(AKA 无序的属性集合)时,如何指定一个序列?

collection.ensureIndex({
    date    : -1,
    client  : 1,
    product : 1
});
4

1 回答 1

11

在 MongoDB 中,文档中字段的顺序确实很重要,所有语言驱动程序都提供了一种以这种方式指定文档的方法,即使底层编程语言没有这样的概念。

MongoDB 在其 shell 中使用的文档格式类似于 JSON,但不是严格的 JSON。除其他外,始终保留字段的顺序。

在 Javascript 中,标准将字段定义为无序的,因此实现可以自由地忽略/不保留顺序。但实际上,所有实现都保留了顺序。特别是V8 engine保留了顺序,这是使用的引擎,node.js所以没问题。

于 2013-08-29T15:04:20.347 回答