Проблема с обработкой ошибок node.js и mongoskin - PullRequest
0 голосов
/ 19 марта 2012

Я изучаю и пробую простой пример, используя node.js и mongoskin.Вот моя функция ниже

Проблема следующая функция: если сервер mongodb отключен, то я также получаю "err = null", следовательно, не может перехватить ошибку соединения.Если я перезагружаю сервер node.js (пока сервер mongoDB все еще отключен), я получаю сообщение об ошибке «Ошибка: не удалось подключиться к [server-aa070: 27017]]»

// Process messages from client
   app.post('/send', function(req, res){
   var message = {
        id: i++,
      nickname: req.param('nickname', 'Anonymous'),
          text: req.param('text', ''),
created_at: new Date()
};

conn.chat_log.insert(message, function(err) {
   if(err!==null){
   console.log(err);
   }
   else {
    console.log(message);
    console.log(err);
   }
});
res.json({status: 'ok'});
});

Ответы [ 2 ]

0 голосов
/ 20 апреля 2012

Не знаю насчет mongoskin, но для драйвера узла-монго (драйвера, на котором построен mongoskin) автор сказал:

Обратите внимание, что нет причин передавать обратный вызов для вставки или обновления команды, если вы не используете опцию safe: true. Если вы не укажете safe: true, тогда ваш обратный вызов будет вызван немедленно.

0 голосов
/ 09 апреля 2012

Я новичок в node.js и mongodb, но почему вы используете if(err!==null) вместо if(err)?Если я правильно понимаю, не решит ли это вашу проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...