MongoDBsorting使用超过最大的RAM,但正在使用索引?

我正在debugging一个站点searchfunction与分页的结果,失败后的任意数量的页面。

search: Executor error during find command: OperationFailed: Sort operation used more than the maximum 33554432 bytes of RAM. Add an index, or specify a smaller limit. 

不过,我确信它正在使用一个索引:

  winningPlan: { stage: 'PROJECTION', transformBy: { score: { '$meta': 'textScore' }, shootId: 1, title: 1, publishDate: 1, 'media.images.indexImage': 1, 'media.images.adImage': 1, 'media.images.galleryImages': 1, 'media.images.portrait': 1, 'media.promos.images.410': 1, 'media.full.full.length': 1, contentProducer: 1, performers: 1, site: 1 }, inputStage: { stage: 'TEXT', indexPrefix: {}, indexName: 'textSearchIndex', parsedTextQuery: { terms: [ 'milk' ], negatedTerms: [], phrases: [], negatedPhrases: [] }, textIndexVersion: 3, inputStage: { stage: 'TEXT_MATCH', inputStage: { stage: 'TEXT_OR', filter: { '$and': [ { 'status.publishStatus': { '$eq': 'PUBLISHED' } }, { publishDate: { '$lte': 2017-03-17T21:30:29.254Z } } ] }, inputStage: { stage: 'IXSCAN', keyPattern: { _fts: 'text', _ftsx: 1, 'status.publishStatus': 1, publishDate: -1 }, indexName: 'textSearchIndex', isMultiKey: true, isUnique: false, isSparse: false, isPartial: false, indexVersion: 2, direction: 'backward', indexBounds: {} } } } } }, rejectedPlans: [] }, 

collections品是〜1GB,35K物品,平均尺寸为28.3KB。

该指数是22.8 MiB:

 { "description" : "text", "performers.performerName" : "text", "site.shortName" : "text", "summary" : "text", "title" : "text", "status.publishStatus" : 1, "publishDate" : -1 } 

查询:

 { 'status.publishStatus': 'PUBLISHED', 'publishDate': { '$lte': new Date("Fri, 17 Mar 2017 21:30:29 GMT") }, '$text': { '$search': 'milk' } } 

sorting:

 { score: { $meta: 'textScore' }, publishDate: -1 } 

实际上,它正在做一个查找,sorting,跳过,限制,精益,select,最后执行。

它实际上是索引? 如果不是,我应该做什么不同?

如果它是索引,我应该增加internalQueryExecMaxBlockingSortBytes?

       

网上收集的解决方案 "MongoDBsorting使用超过最大的RAM,但正在使用索引?"