Node.js + mongoose находит зависающий узел, когда результат более 100

У меня есть простая модель мангуста, по которой я вызываю find с пределом до 100, он вызывает готовый обратный вызов:

this.find({}).limit(100).exec(done);

Обратный вызов никогда не вызывается, если я изменяю эту строку в (или любое большее число)

this.find({}).limit(101).exec(done);

Нет ошибок, база данных продолжает работать, но приложение этого узла зависает и должно быть перезапущено.

Если я подключусь к серверу через ssh, чтобы подключиться к той же базе данных и подключиться к оболочке mongo, то в той же коллекции find ({}) вернет все ~ 700 коллекций менее чем за секунду. Когда я клонировал ту же базу данных на свой локальный ПК и запустил приложение для подключения к локальной базе данных, оно работало, но приложение зависало на сервере, если оно подключалось к базе данных на том же сервере.

Любая идея, как отладить этот?

Edit1: добавлен файл модели:

Файл модели:

'use strict';

let mongoose = require('mongoose');
let Schema = mongoose.Schema;

let foodSchema = new Schema(
    {
        name: Object,
        type: String,
        description: Object,
        price: Number,
        priceBig: Number,
        active: Boolean
    },
    {
        collection: 'foods'
    }
);

let model = mongoose.model('food', foodSchema);

model.getAllFoods = function (done) {
    this.find({}, done);
};

model.getActiveFoods = function (done) {
    this.find({active: true}, done);
};

model.getFoodById = function (id, done) {
    this.findOne({_id: id}, done);
};

module.exports = model;

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

foodModel.getAllFoods(function (err, docs) {
    if (err) {
        res.sendStatus(500);
        return;
    }

    res.send(docs);
});

getActiveFoods работает просто отлично (возвращает 96 документов)

Ответы на вопрос(1)

Ваш ответ на вопрос