mongodb sort exceeded memory limit Ошибка при сортировке больших данных // allowDiskUse или internalQueryFacetBufferSizeBytes

Ошибка может выглядеть как-то так:

Error:
Assert: command failed: {
"ok" : 0,
"errmsg" : "Sort exceeded memory limit of 104857600 bytes, but did not opt in to external sorting. Aborting operation. Pass allowDiskUse:true to opt in.",
"code" : 16819
} : aggregate failed
_getErrorWithCode@src/mongo/shell/utils.js:23:13
doassert@src/mongo/shell/assert.js:13:14
assert.commandWorked@src/mongo/shell/assert.js:266:5
DBCollection.prototype.aggregate@src/mongo/shell/collection.js:1215:5
@(shell):1:1

Error: command failed: {
"ok" : 0,
"errmsg" : "Sort exceeded memory limit of 104857600 bytes, but did not opt in to external sorting. Aborting operation. Pass allowDiskUse:true to opt in.",
"code" : 16819
} : aggregate failed :
_getErrorWithCode@src/mongo/shell/utils.js:23:13
doassert@src/mongo/shell/assert.js:13:14
assert.commandWorked@src/mongo/shell/assert.js:266:5
DBCollection.prototype.aggregate@src/mongo/shell/collection.js:1215:5
@(shell):1:1

Использование диска

Обычнм решение является добавление опции:

"allowDiskUse":true

Увеличение лимита оперативной памяти

Судя по числу (104857600) на моей машине (монго 3.2) можно было бы поменять параметр:

"internalQueryFacetBufferSizeBytes" : 104857600,

Но его нет в списке опций которые можно выставить
-- проверить есть ли он в вашей версии можно командой:

db.adminCommand({setParameter: 1, internalQueryFacetBufferSizeBytes: 888000000,help: true})

Параметр доступен, начиная с монго 3.4: https://docs.mongodb.com/manual/referenc...

Key Words for FKN + antitotal forum (CS VSU):