Amazonec2インスタンスにmongoサーバーを備えたノードアプリがあります。うまく機能しますが、新しいAPI呼び出しを追加しただけで、呼び出すたびにサーバーがフリーズし、数時間アクセス/SSH接続できなくなります。これが発生している間、サーバーがダウンし、サーバーに依存しているアプリが使用できなくなり、ユーザーが怒ります...
このコードはローカルホストで完全に機能しますが、サーバーで実行するとすぐにフリーズします。私の考えは、それがモンゴを墜落させるかもしれないということですか?なぜこれが起こるのか分かりません...
誰かが何がうまくいかないかについて何か考えがあれば、私に知らせてください。
ノードはエクスプレスを使用しています。send_error関数はres.send({some error})を実行します。db.CommentModelはmongoose.model('comment'、Comment);を返します。
app.jsで
app.get('/puzzle/comment/:id', auth.restrict, puzzle.getComments);
getCommentsを定義するファイル内
exports.getComments = function(req, res)
{   
    var userID = _u.stripNonAlphaNum(req.params.id);
    var CommentModel = db.CommentModel;
    CommentModel.find({user: userID}, function(e, comments) {
        if(e) 
        {
            err.send_error(err.DB_ERROR, res);
        }
        else if (!comments)
        {
            err.send_error(err.DB_ERROR, res);
        }
        else if (comments.length == 0)
        {
            res.send([]);
    }
    else
    {
        var commentIDs = [];
        for (var i = 0; i<comments.length; i++)
        {
            commentIDs.push({_id: comments[i].puzzle});
        }
        var TargetModel = pApp.findPuzzleModel(_u.stripNonAlphaNum(req.apiKey));
            TargetModel.find({removed: false, $or: commentIDs}, function(e, puzzles) {
                if(e) 
                {
                    err.send_error(err.DB_ERROR, res);
                }
                else if (!puzzles)
                {
                    err.send_error(err.DB_ERROR, res);
                }
                else
                {
                    res.send(puzzles);
                }
            });
        }
    });
}