Итак, имеется база MongoDB, на бакэнде NodeJs, подключение к базе через mongodb драйвер. Пользователю на фронте позволяется сделать любую выборку. Если объем данных слишком велик, node.js рушится со следующей ошибкой:
>> FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
>> Exited with code: 3.
>> Error executing child process: Error: Process exited with code 3.
Что можно сделать?
Вижу следующие подходы (в теории):
1) Как-то выяснить (как?) объем данных, которые будут возвращены в случае данного запроса, и, если он превышает определенный лимит, не выполнять запрос, а вернуть пользователю сообщение об ошибке.
2) Если это невозможно, то остановить выполнение запроса в процессе, и вернуть сообщение об ошибке.
3) Остается одно - иметь запущенным какой-то демон, который тут же перезапустит node если он рухнет.
Что посоветуете, спасибо!