gpt4 book ai didi

javascript - Mongodb 复合索引排序

转载 作者:行者123 更新时间:2023-12-03 10:46:50 25 4
gpt4 key购买 nike

定义复合索引:

db.collection.ensureIndex( { orderDate: 1, zipcode: -1 } )

我突然明白了:JS对象的字段是有序的吗?是否存在 orderDate 首先出现的隐含假设?我很惊讶它没有使用数组。

对于 Mongoose ,我们使用:

schema.index({a:1, b:1})

如何确保该对象按照代码中指定的字段顺序传输到 mongo 服务器?

这篇文章说字段没有排序。 Does JavaScript Guarantee Object Property Order?

Is it acceptable style for Node.js libraries to rely on object key order?

最佳答案

来自documentation

Indexes store references to fields in either ascending (1) or descending (-1) sort order. For single-field indexes, the sort order of keys doesn’t matter because MongoDB can traverse the index in either direction. However, for compound indexes, sort order can matter in determining whether the index can support a sort operation.

因此,如果您使用创建索引

db.collection.ensureIndex( { orderDate: 1, zipcode: -1 } ) 

对象将被传输到 mongo 服务器,其中的字段按顺序还请注意使用

db.collection.ensureIndex( { orderDate: 1, zipcode: -1 } ) 

db.collection.ensureIndex( {  zipcode: -1 , orderDate: 1} ) 

将创建两个不同的复合索引

关于javascript - Mongodb 复合索引排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28549132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com