Mongo 2.6索引 - 查询结果顺序

时间:2014-06-16 13:09:07

标签: mongodb

我们在申请中使用Mongo 2.6。我们从2.4升级到2.6版本。

如果mongo 2.6查询基于不同的个别索引,是否会维护订单。

感谢。

1 个答案:

答案 0 :(得分:1)

只要您在查询中明确使用sort(),订单在版本2.4中将保持不变。 如果您的查询未使用sort()指定排序顺序,则Mongo DB 2.6中的更改可能会影响查询的结果顺序。 MongoDB现在可以使用多个索引的交集来完成查询。如果您有两个单独的索引:

db.collection.ensureIndex({A: 1})
db.collection.ensureIndex({B: 1})

并且您没有复合索引:

db.collection.ensureIndex({A: 1, B: 1})

查询db.collection.find({A : a, B: b})将返回版本2.6中由A和B排序的结果。在2.4版中,它仅按A排序。有关详细信息,请查看此http://docs.mongodb.org/manual/core/index-intersection/