我已经设置了节点应用。当使用本地设置的Mongo东西发布到数据库就好了。当我将数据库切换到MLab时,它会破坏应用程序。除了超时之外,我收到零错误消息。有什么想法吗?这是我的应用程序设置和失败的注册路由。似乎很奇怪,它可以在我的本地主机上完美运行但不是云吗?
// mongoose.connect("mongodb://localhost/cultureapp3");
mongoose.connect("mongodb://INFO.mlab.com:/INFO");
app.set("view-engine", "ejs");
app.engine('html', require('ejs').renderFile);
app.use(express.static("public"));
app.use(bodyParser.urlencoded({extended: true}));
app.use(flash());
// //PASSPORT CONFIG
app.use(require("express-session")({
secret: "Hawaii.",
resave: false,
saveUninitialized: false
}));
app.use(passport.initialize());
app.use(passport.session());
passport.use(new LocalStrategy(User.authenticate()));
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());
app.use(function(req, res, next){
res.locals.currentUser = req.user;
res.locals.error = req.flash("error");
res.locals.success = req.flash("success");
next();
});
这是注册路线。
//handle register
app.post("/register", function(req, res){
var newUser = new User({username: req.body.username});
User.register(newUser, req.body.password, function(err, user){
if(err){
req.flash("error", err.message);
console.log(err.message)
return res.redirect("/register");
}
passport.authenticate("local")(req, res, function(){
req.flash("success", "Successfully logged in as " + user.username);
res.redirect("/progress")
});
});
});
答案 0 :(得分:1)
我联系了mLab后想出来了!这么小但却是毁灭性的错误:
我试图与"<>"连接URI中我的用户名/密码周围的字符。
删除它们,它就像一个魅力。