Node.js + mangusto encontra nó de congelamentos quando mais de 100 resultados

Eu tenho um modelo simples de mangusto no qual eu chamo de encontrar com limite máximo 100, que chama de retorno de chamada concluído:

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

O retorno de chamada nunca é chamado Se eu modificar esta linha para (ou qualquer número maior)

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

Não há erro em nenhum lugar, o banco de dados continua funcionando, mas esse aplicativo do nó congela e deve ser reiniciado.

Se eu ssh no servidor para conectar ao mesmo banco de dados e ao mongo shell, na mesma coleção find ({}) retornará todas as ~ 700 coleções em menos de um segundo. Quando eu clonei o mesmo banco de dados no meu PC local e executei o aplicativo para conectar-se ao banco de dados local, ele funcionou, mas o aplicativo congela no servidor se estiver conectado ao banco de dados no mesmo servidor.

Alguma idéia de como depurar este?

Edit1: arquivo de modelo adicionado:

Arquivo de modelo:

'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;

Uso:

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

    res.send(docs);
});

getActiveFoods funciona muito bem (retorna 96 documentos)

questionAnswers(1)

yourAnswerToTheQuestion