节点匹配动态网址

时间:2017-03-08 18:28:32

标签: node.js mongodb

我正在开发一款应用,用户可以自己添加房间。

这意味着我必须将所有网址与:

匹配
CREATE EXTERNAL TABLE samp_log 
(
ip String ,col1 String ,col2 String , date String , time_hour int ,time_min int 
,time_sec int ,zone int , request String , request_con String , resp_code int 
,resp_byte BIGINT , reference String , ext_reference String , col13 String 
,col14 String ,col15 String , col16 String ,col17 String  
) 
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe' 
WITH SERDEPROPERTIES ("field.delim"=" ,[,]") 
STORED AS TEXTFILE

但是我需要检查房间是否存在才允许用户去那里,我用

module.exports = function(app) {
app.route('/chat/:roomName')
    .get(room.list);
};

当用户点击不存在的网址/房间时,会发生重定向,但随后我的应用程序崩溃exports.room = function(req, res, next) { Chat.find({ roomName: req.param("roomName")}, (err, chats) => { if (chats == 0) { res.redirect('/chat'); } if (err) { return next(err); } }); Message.find({ roomName: req.param("roomName") }, (err, messages) => { if (err) { return next(err); } else { res.render('chatroom', {title: req.param("roomName"), messages: messages}); } }); }; 我怎么能以正确的方式做到这一点?

1 个答案:

答案 0 :(得分:0)

我首先处理错误:

exports.room = function(req, res, next) {

Chat.find({ roomName: req.param("roomName")}, (err, chats) => {
   if (err) {
       return next(err);
   }
   res.redirect('/chat');
});

Message.find({ roomName: req.param("roomName") }, (err, messages) => {
   if (err) {
      return next(err);
   }
   res.render('/chatroom', {
       title: req.param("roomName"), 
       messages: messages
       });
   }
});

};