我正在学习并尝试使用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'});
});
答案 0 :(得分:0)
我是node.js和mongodb的新手,但你为什么要使用if(err!==null)
而不是if(err)
?如果我理解正确,这不会解决你的问题吗?
答案 1 :(得分:0)
不知道mongoskin,但对于node-mongo-native驱动程序(构建mongoskin的驱动程序),作者说:
请注意,没有理由将回调传递给插入或更新 命令,除非您使用safe:true选项。如果你没有指定 safe:true,然后立即调用你的回调函数。