是否可以在MongoDB中对文本索引进行预排序?

问题描述 投票:1回答:1

我的理解是,在MongoDB中,常规(非文本)索引是根据传递给createIndex()的参数预先排序的。例如,db.collection.createIndex({ name: 1 })将按名称按升序创建一个文档索引。

是否可以使用文本索引执行此操作?我有一个带有文本索引的大型MongoDB集合(数百万个文档)。当我对集合执行文本搜索时,我想按created日期对结果进行排序...但排序操作总是耗尽内存。我可以设置文本索引,使其按created日期预先排序(即,在检索结果后不需要执行排序操作)?

mongodb
1个回答
1
投票

根据text index docs,这是不可能的:

排序操作无法从文本索引获取排序顺序,即使是复合文本索引也是如此;即排序操作不能使用文本索引中的排序。

不幸的是,看起来文本索引上的排序是MongoDB中的一个真正问题。他们的跟踪器SERVER-36087SERVER-24375SERVER-36794有多个相关问题

© www.soinside.com 2019 - 2024. All rights reserved.