Node.js + mangosta encuentra el nodo de congelación cuando más de 100 resultados

Tengo un modelo de mangosta simple en el que llamo encontrar con límite máximo 100, llama a la devolución de llamada realizada:

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

La devolución de llamada nunca se llama si modifico esta línea en (o cualquier número más alto)

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

No hay ningún error en ninguna parte, la base de datos sigue funcionando, pero esta aplicación de nodo se congela y debe reiniciarse.

Si ingreso al servidor para conectarme a la misma base de datos y conectarme a Mongo Shell, en la misma colección find ({}) devuelve todas las ~ 700 colecciones en menos de un segundo. Cuando cloné la misma base de datos en mi PC local y ejecuté la aplicación para conectarme a la base de datos local, funcionó, pero la aplicación se congela en el servidor si se conecta a la base de datos en el mismo servidor.

¿Alguna idea de cómo depurar este?

Edit1: archivo de modelo agregado:

Archivo 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 bien (devuelve 96 documentos)

Respuestas a la pregunta(1)

Su respuesta a la pregunta