摘要:搭建簡(jiǎn)單登錄注冊(cè)還是我又來(lái)了近來(lái)突然對(duì)數(shù)據(jù)庫(kù)和后臺(tái)有點(diǎn)感興趣就開(kāi)始了漫長(zhǎng)的學(xué)習(xí)之路想想自己只是一個(gè)前端只會(huì)斯科瑞普所以就開(kāi)始看看著看著突然發(fā)現(xiàn)和更配哦遂就開(kāi)了我的之路由于我的表達(dá)能力有限下面的文章可能寫的不是那么詳細(xì)有看不懂的可以去我上看源
nodejs+mongodb搭建簡(jiǎn)單登錄注冊(cè)
biu!biu!biu!還是我又來(lái)了!!!
近來(lái)突然對(duì)數(shù)據(jù)庫(kù)和后臺(tái)有點(diǎn)感興趣,就開(kāi)始了漫長(zhǎng)的學(xué)習(xí)之路,想想自己只是一個(gè)前端,只會(huì)java斯科瑞普,所以就開(kāi)始看nodejs,看著看著突然發(fā)現(xiàn)mongodb和nodejs更配哦!,遂就開(kāi)了我的mongodb之路;由于我的表達(dá)能力有限,下面的文章可能寫的不是那么詳細(xì),有看不懂的可以去我github上看源碼,在這附上我github的這個(gè)項(xiàng)目的地址,歡迎大家踴躍star的,當(dāng)是對(duì)小白的鼓勵(lì)! biu!我是鏈接!
就超簡(jiǎn)潔的說(shuō)一下,mongo就是一個(gè)nosql的數(shù)據(jù)庫(kù),不使用sql的語(yǔ)法,當(dāng)然其實(shí)也是大同小異的,增刪改查還是差不多的,但是在概念上mongo還是跟mysql有相當(dāng)大的區(qū)別的;比如在mongo中沒(méi)有表的概念,而是一個(gè)集合;由于這些概念性的東西有很多,我在這里給各位附上鏈接,你們自己看一下biu!我是鏈接!;
說(shuō)說(shuō)我的小demo使用到的一些東西直接懟package的依賴圖片吧
說(shuō)下各個(gè)部分的作用:
express:這就是nodejs的一個(gè)web應(yīng)用的開(kāi)發(fā)框架;
body_parser:這個(gè)寫nodejs的應(yīng)該都知道,用于解析客戶端請(qǐng)求的body中的內(nèi)容的一個(gè)中間件,因?yàn)橐玫奖韱翁峤?所以需要解析獲得的數(shù)據(jù);
mongoose:從這個(gè)名字就可以知道這個(gè)是和mongodb有關(guān)系的依賴;這個(gè)依賴是nodejs封裝用來(lái)連接和操作mongodb數(shù)據(jù)庫(kù)的;
其余幾個(gè)我相信各位應(yīng)該都知道,其實(shí)這個(gè)我相信我不介紹各位應(yīng)該也都知道的,原諒我的話癆!!!
列表結(jié)構(gòu)列表
還是直接懟圖片吧!實(shí)在是不想生成tree了!
其實(shí)這是一個(gè)很簡(jiǎn)單的demo!主要還是體驗(yàn)出nodejs對(duì)前端靜態(tài)資源的渲染,以及nodejs的路由,還有其對(duì)mongodb的支持!
user.js里面確定了mongoose的一個(gè)Schema,也就是寫入數(shù)據(jù)庫(kù)的格式
var UserSchema = new Schema({ username : String, userpsw : String, logindate : Date })
這樣就構(gòu)建了一個(gè)數(shù)據(jù)模型;
從項(xiàng)目目錄上可以看出,我只是寫了簡(jiǎn)單三個(gè)頁(yè)面,其實(shí)最最最主要的只是一個(gè)文件,app.js;
app.js內(nèi)容
在這個(gè)里面我主要寫了關(guān)于接受前臺(tái)傳入的數(shù)據(jù)是怎么存入mongodb的,還有是怎么判斷是否已經(jīng)注冊(cè);是否輸入了正確的賬號(hào)密碼的;
在這我放一段檢測(cè)注冊(cè)的代碼,在注冊(cè)成功后就將用戶的信息寫入到數(shù)據(jù)庫(kù)
app.post("/register",(req, res) => { console.log("user in session") console.log(req.session); //先查詢有沒(méi)有這個(gè)user console.log("req.body"+req.body); var UserName = req.body.username; var UserPsw = req.body.password; //通過(guò)賬號(hào)驗(yàn)證 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"}) } } }) });
這樣的話就可以將用戶傳入的信息存入到數(shù)據(jù)庫(kù)了;登錄同理,先將傳過(guò)來(lái)的數(shù)據(jù)在數(shù)據(jù)庫(kù)里查詢是否已經(jīng)有,然后再將用戶名和密碼都一一對(duì)比,如果匹配的話就返回登錄成功;
說(shuō)說(shuō)前端部分
原諒我的表達(dá)能力是真的有限,上面的后端各位肯定沒(méi)怎么看懂,歡迎去觀看我的源碼;下面來(lái)說(shuō)下我對(duì)前端部分的一些處理;
前端部分主要就是在login頁(yè),我做了一個(gè)cookie的處理,當(dāng)用戶點(diǎn)擊保存賬戶的時(shí)候,我就將用戶的信息存入cookie下次登錄的時(shí)候就不用麻煩去輸入用戶名和密碼了;
if($("#mycheck").prop("checked")==true){ setCookie("username",username,7); }
其實(shí)也就是當(dāng)?shù)卿涷?yàn)證成功并且用戶check了checkbox的時(shí)候?qū)ookie存入;下次登錄的時(shí)候直接將cookie值解析,然后放入到用戶名的input框的value值中!
以上就是我這個(gè)小demo的一些內(nèi)容,表達(dá)能力有限,各位有興趣可以移駕去看看我源碼;
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/19042.html
摘要:搭建簡(jiǎn)單登錄注冊(cè)還是我又來(lái)了近來(lái)突然對(duì)數(shù)據(jù)庫(kù)和后臺(tái)有點(diǎn)感興趣就開(kāi)始了漫長(zhǎng)的學(xué)習(xí)之路想想自己只是一個(gè)前端只會(huì)斯科瑞普所以就開(kāi)始看看著看著突然發(fā)現(xiàn)和更配哦遂就開(kāi)了我的之路由于我的表達(dá)能力有限下面的文章可能寫的不是那么詳細(xì)有看不懂的可以去我上看源 nodejs+mongodb搭建簡(jiǎn)單登錄注冊(cè) biu!biu!biu!還是我又來(lái)了!!! 近來(lái)突然對(duì)數(shù)據(jù)庫(kù)和后臺(tái)有點(diǎn)感興趣,就開(kāi)始了漫長(zhǎng)的學(xué)習(xí)之...
摘要:照例先貼上地址歡迎各位大佬指導(dǎo)就是我我是鏈接歡迎項(xiàng)目簡(jiǎn)介首先說(shuō)下要在本地運(yùn)行項(xiàng)目的話需要在電腦上安裝我的項(xiàng)目也需要一下這里也貼一下地址地址前端部分頁(yè)面搭建前端的頁(yè)面搭建和跳轉(zhuǎn)都是使用的的因?yàn)殚_(kāi)始的仿原生的頁(yè)面堆棧的概念使得前端制作的難度減少 照例先貼上地址歡迎各位大佬指導(dǎo) 就是我,我是鏈接 (歡迎star) 項(xiàng)目簡(jiǎn)介 首先說(shuō)下要在本地運(yùn)行項(xiàng)目的話,需要在電腦上安裝mongoDB,我的...
摘要:照例先貼上地址歡迎各位大佬指導(dǎo)就是我我是鏈接歡迎項(xiàng)目簡(jiǎn)介首先說(shuō)下要在本地運(yùn)行項(xiàng)目的話需要在電腦上安裝我的項(xiàng)目也需要一下這里也貼一下地址地址前端部分頁(yè)面搭建前端的頁(yè)面搭建和跳轉(zhuǎn)都是使用的的因?yàn)殚_(kāi)始的仿原生的頁(yè)面堆棧的概念使得前端制作的難度減少 照例先貼上地址歡迎各位大佬指導(dǎo) 就是我,我是鏈接 (歡迎star) 項(xiàng)目簡(jiǎn)介 首先說(shuō)下要在本地運(yùn)行項(xiàng)目的話,需要在電腦上安裝mongoDB,我的...
摘要:照例先貼上地址歡迎各位大佬指導(dǎo)就是我我是鏈接歡迎項(xiàng)目簡(jiǎn)介首先說(shuō)下要在本地運(yùn)行項(xiàng)目的話需要在電腦上安裝我的項(xiàng)目也需要一下這里也貼一下地址地址前端部分頁(yè)面搭建前端的頁(yè)面搭建和跳轉(zhuǎn)都是使用的的因?yàn)殚_(kāi)始的仿原生的頁(yè)面堆棧的概念使得前端制作的難度減少 照例先貼上地址歡迎各位大佬指導(dǎo) 就是我,我是鏈接 (歡迎star) 項(xiàng)目簡(jiǎn)介 首先說(shuō)下要在本地運(yùn)行項(xiàng)目的話,需要在電腦上安裝mongoDB,我的...
摘要:注冊(cè)成功后會(huì)返回注冊(cè)用戶的此就是上面說(shuō)到的,用于用戶登陸的基礎(chǔ),請(qǐng)保管好。 地址 https://github.com/billyhoomm...http://blog.billyhu.com 說(shuō)明(Instructions) 本項(xiàng)目后臺(tái)基于express、mongodb,前臺(tái)基于Vue2.0全家桶、bootstrap、scss預(yù)編譯器以及一眾工具類插件 項(xiàng)目前后臺(tái)代碼在同一個(gè)目錄中...
閱讀 2840·2021-11-24 09:39
閱讀 4138·2021-10-27 14:19
閱讀 2057·2021-08-12 13:25
閱讀 2346·2019-08-29 17:07
閱讀 1122·2019-08-29 13:44
閱讀 1074·2019-08-26 12:17
閱讀 470·2019-08-23 17:16
閱讀 2058·2019-08-23 16:46