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

原创
2014/12/23 15:04
阅读数 310

第一步

当然还是准备工作了,在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上,请随时关注我的博客。
好了,结束。


展开阅读全文
0
8 收藏
分享
加载中
更多评论
打赏
0 评论
8 收藏
0
分享
返回顶部
顶部