2016-01-29 2 views
1

У меня есть простая модель мангуста, на которую я называю найти с концевым макс 100 он вызывает функцию обратного вызова сделано:Node.js + мангуст найти узел зависает, когда более 100 результатов

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

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

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

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

Если я подключен к серверу, чтобы подключиться к той же базе данных и подключиться к оболочке 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 Документы)

+0

напишите свой файл модели – wrleskovec

+0

Добавлен и также пример того, как я его использую. Я бы использовал его без ограничений, но я экспериментировал, где это происходит, и выяснил это поведение. – kapa

+0

В течение последних двух дней был еще два подобных вопроса, которые не были решены. Какую версию Mongoose вы используете? – JohnnyHK

ответ

2

После наводки JohnnyK I обновил Mongoose с 4.1.11 до 4.3.7 и устранил проблему.

+0

Ты спасаешь мою жизнь. Получила эту проблему и много раз пробовала. – thehuyvb

Смежные вопросы