node.js + mongodb 做项目的详解(二)

第一步

当然还是准备工作了,在bootstrap官网下载好需要的东西了,怎么用官网已经写的很详细,在这就不细说了。
下载地址:http://v3.bootcss.com/getting-started/

第二步
就是登陆和注册了

写在router文件中
index.js

技术分享

/*ucenter-登录*/router.post(‘/ucenter/login‘, function (req, res) {
    user.findOne({name: req.body.name}, function (err, data) {        if (data.name === req.body.name && data.password ===  req.body.password) {
             console.log(req.body.name + ‘登陆成功‘ + new Date());
             res.render(‘ucenter‘, {title: ‘ucenter‘});
        } else {
             console.log(err);
             res.send(500);
        }
   });
});

技术分享

技术分享

/*ucenter-注册*/router.post(‘/ucenter/register‘, function (req, res) {
    user.findOne({name: req.body.name}, function (err, docs) {        if (err)
            console.log(err);        else if (!docs) {
            user.create({
                name: req.body.name,
                password: req.body.password
            }, function (err, doc) {                if (err)
                    console.log(err);                else
                    console.log(doc);
            });
            res.render(‘ucenter‘, {title: ‘ucenter‘});
        }
    })
});

技术分享

 

页面中表单提交就用的action,没有用Ajax,这里为了方便讲解,如果你写用Ajax请求的写法
请看:http://www.hubwiz.com/coursecenter 中的express课程 
其中有详细的做法。

第三步

就是express的session问题了

在express 4.0之前的版本,像session之类的中间件是伴随express自动安装的,
网上有的教程使用的express版本正是4.0之前的版本,所以在使用4.0及其之后版本的时候一定要注意这点。

这是在实现mongodb回话组建connect-mongo时需要的。

技术分享

With express4:var session    = require(‘express-session‘);var MongoStore = require(‘connect-mongo‘)(session);

app.use(session({
    secret: settings.cookie_secret,
    store: new MongoStore({
      db : settings.db,
    })
  }));
With express<4:var express = require(‘express‘);var MongoStore = require(‘connect-mongo‘)(express);

app.use(express.session({
    secret: settings.cookie_secret,
    store: new MongoStore({
      db: settings.db
    })
  }));
With connect:var connect = require(‘connect‘);var MongoStore = require(‘connect-mongo‘)(connect);

技术分享

 

这段代码可以再connect-mongo github中看到。

代码还没有整理好,就没有传到github上,请随时关注我的博客。
好了,结束。


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。