利用node.js+mongodb如何搭建一個簡單登入註冊的功能詳解,node.jsmongodb

來源:互聯網
上載者:User

利用node.js+mongodb如何搭建一個簡單登入註冊的功能詳解,node.jsmongodb

前言

最近突然對資料庫和後台感興趣了,就開始了漫長的學習之路,想想自己只是一個前端,只會java斯科瑞普,所以就開始看nodejs,看著看著突然發現mongodb和nodejs更配哦!,遂就開了我的mongodb之路。下面話不多說了,來一起看看詳細的介紹吧。

mongodb簡介

就超簡潔的說一下,mongo就是一個nosql的資料庫,不使用sql的文法,當然其實也是大同小異的,增刪改查還是差不多的,但是在概念上mongo還是跟mysql有相當大的區別的;比如在mongo中沒有表的概念,而是一個集合;由於這些概念性的東西有很多,我在這裡給各位附上連結,你們自己看一下biu!我是連結!;

說說我的小demo使用到的一些東西

直接懟package的依賴圖片吧


說下各個部分的作用:

  • express:這就是nodejs的一個web應用的開發架構;
  • body_parser:這個寫nodejs的應該都知道,用於解析用戶端請求的body中的內容的一個中介軟體,因為要用到表單提交,所以需要解析獲得的資料;
  • mongoose:從這個名字就可以知道這個是和mongodb有關係的依賴;這個依賴是nodejs封裝用來串連和操作mongodb資料庫的;
    其餘幾個我相信各位應該都知道,其實這個我相信我不介紹各位應該也都知道的,原諒我的話癆!!!

列表結構列表

還是直接懟圖片吧!實在是不想產生tree了!


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

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

這樣就構建了一個資料模型;

從項目目錄上可以看出,我只是寫了簡單三個頁面,其實最最最主要的只是一個檔案,app.js;

app.js內容

在這個裡面我主要寫了關於接受前台傳入的資料是怎麼存入mongodb的,還有是怎麼判斷是否已經註冊;是否輸入了正確的帳號密碼的;

在這我放一段檢測註冊的代碼,在註冊成功後就將使用者的資訊寫入到資料庫

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'})     }   }  }) });

這樣的話就可以將使用者傳入的資訊存入到資料庫了;登入同理,先將傳過來的資料在資料庫裡查詢是否已經有,然後再將使用者名稱和密碼都一一對比,如果匹配的話就返回登入成功;

說說前端部分

原諒我的表達能力是真的有限,上面的後端各位肯定沒怎麼看懂,歡迎去觀看我的源碼;下面來說下我對前端部分的一些處理;
前端部分主要就是在login頁,我做了一個cookie的處理,當使用者點擊儲存賬戶的時候,我就將使用者的資訊存入cookie下次登入的時候就不用麻煩去輸入使用者名稱和密碼了;

      if($('#mycheck').prop('checked')==true){      setCookie('username',username,7);     }

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

由於我的表達能力有限,文章可能寫的不是那麼詳細,有看不懂的可以去看源碼

github項目地址

本地下載

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的協助,如果有疑問大家可以留言交流,謝謝大家對幫客之家的支援

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.