nodejs+mongodb構建一個簡單登陸註冊功能

nodejs+mongodb搭建簡單登陸註冊

biu!biu!biu!仍是我又來了!!!
近來忽然對數據庫和後臺有點感興趣,就開始了漫長的學習之路,想一想本身只是一個前端,只會java斯科瑞普,因此就開始看nodejs,看着看着忽然發現mongodbnodejs更配哦!,遂就開了個人mongodb之路;因爲個人表達能力有限,下面的文章可能寫的不是那麼詳細,有看不懂的能夠去我github上看源碼,在這附上我github的這個項目的地址,歡迎你們踊躍star的,當是對小白的鼓勵! biu!我是連接!html

先敘一下mongodb

就超簡潔的說一下,mongo就是一個nosql的數據庫,不使用sql的語法,固然其實也是大同小異的,增刪改查仍是差很少的,可是在概念上mongo仍是跟mysql有至關大的區別的;好比在mongo中沒有表的概念,而是一個集合;因爲這些概念性的東西有不少,我在這裏給各位附上連接,大家本身看一下biu!我是連接!;前端

說說個人小demo使用到的一些東西

  • 直接懟package的依賴圖片吧

圖片描述

說下各個部分的做用:
express:這就是nodejs的一個web應用的開發框架;
body_parser:這個寫nodejs的應該都知道,用於解析客戶端請求的body中的內容的一箇中間件,由於要用到表單提交,因此須要解析得到的數據;
mongoose:從這個名字就能夠知道這個是和mongodb有關係的依賴;這個依賴是nodejs封裝用來鏈接和操做mongodb數據庫的;
其他幾個我相信各位應該都知道,其實這個我相信我不介紹各位應該也都知道的,原諒個人話癆!!!java

  • 列表結構列表

仍是直接懟圖片吧!實在是不想生成tree了!
圖片描述node

其實這是一個很簡單的demo!主要仍是體驗出nodejs對前端靜態資源的渲染,以及nodejs的路由,還有其對mongodb的支持!
user.js裏面肯定了mongoose的一個Schema,也就是寫入數據庫的格式mysql

var UserSchema = new Schema({
    username : String,
    userpsw : String,
    logindate : Date
})

這樣就構建了一個數據模型;git

從項目目錄上能夠看出,我只是寫了簡單三個頁面,其實最最最主要的只是一個文件,app.js;github

  • app.js內容
    在這個裏面我主要寫了關於接受前臺傳入的數據是怎麼存入mongodb的,還有是怎麼判斷是否已經註冊;是否輸入了正確的帳號密碼的;

在這我放一段檢測註冊的代碼,在註冊成功後就將用戶的信息寫入到數據庫web

app.post('/register',(req, res) => {
    console.log('user in session')
    console.log(req.session);
  //先查詢有沒有這個user
    console.log("req.body"+req.body);
    var UserName = req.body.username;
    var UserPsw = req.body.password;
    //經過帳號驗證
    var updatestr = {username: UserName};
    res.setHeader('Content-type','application/json;charset=utf-8')
        console.log(updatestr);
        userSchema.find(updatestr, function(err, obj){
            if (err) {
                console.log("Error:" + err);
            }
            else {
                if(obj.length == 0){
                    insert(UserName,UserPsw); 
                    res.send({status:'success',message:'true'}) 
                }else{
                    res.send({status:'success',message:'false'}) 
                }
            }
        })  
});

這樣的話就能夠將用戶傳入的信息存入到數據庫了;登陸同理,先將傳過來的數據在數據庫裏查詢是否已經有,而後再將用戶名和密碼都一一對比,若是匹配的話就返回登陸成功;sql

  • 說說前端部分
    原諒個人表達能力是真的有限,上面的後端各位確定沒怎麼看懂,歡迎去觀看個人源碼;下面來講下我對前端部分的一些處理;
    前端部分主要就是在login頁,我作了一個cookie的處理,當用戶點擊保存帳戶的時候,我就將用戶的信息存入cookie下次登陸的時候就不用麻煩去輸入用戶名和密碼了;
if($('#mycheck').prop('checked')==true){
                      setCookie('username',username,7);
                    }

其實也就是當登陸驗證成功而且用戶check了checkbox的時候將cookie存入;下次登陸的時候直接將cookie值解析,而後放入到用戶名的input框的value值中!mongodb

以上就是我這個小demo的一些內容,表達能力有限,各位有興趣能夠移駕去看看我源碼;

相關文章
相關標籤/搜索