資源描述:
《nodejs連接mongodb》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、EJS是web的模版引擎值一。EJS是一個(gè)JavaScipt模版庫(kù),用來(lái)從JSON數(shù)據(jù)中生成HTML字符串??梢苑奖愕慕o出用戶(hù)明確、維護(hù)良好的HTML代碼結(jié)構(gòu)。創(chuàng)建項(xiàng)目:1、New》NodeProject,命名為helloworld。2、打開(kāi)cmd切換到項(xiàng)目目錄的上級(jí)目錄,輸入express-eejshelloworld3、切換到helloworld目錄下,輸入npminstall安裝所需模塊引包:安裝ejs:npminstallejs由于每次加載新的內(nèi)容需要重新更新,所以安裝supervisor組件
2、包:npminstall-gsupervisor定義加載的項(xiàng)目模塊:修改app.js,增加ejs模塊導(dǎo)入:varejs=require('ejs');增加一些相關(guān)的配置:修改app.js:app.engine('.html',ejs.__express);app.set('viewengine','html');注:這樣views中就可以用html了,不用ejs了注:編碼格式要求是:utf-8在app.js配置請(qǐng)求路徑:app.get('/',routes.index);app.get('/login
3、',routes.login);//此處還需要routes/index.js修改app.post('/login',routes.doLogin);//處理post請(qǐng)求,表單提交app.get('/logout',routes.logout);//處理注銷(xiāo)app.get('/welcome',routes.welcome);//進(jìn)入到首頁(yè)修改路由設(shè)置:而這5個(gè)操作路徑配置完成之后,還需要找到routes/index.js文件進(jìn)行相關(guān)的回調(diào)函數(shù)的配置操作。exports.index=function(r
4、eq,res){res.render('index',{title:'Express'});};exports.login=function(req,res){res.render('login',{title:'用戶(hù)登錄'});};exports.doLogin=function(req,res){varuser={userid:'mldnadmin',password:'hellojava'};//固定數(shù)據(jù)//如果要想接收請(qǐng)求,通過(guò)req對(duì)象if(req.body.userid==user.use
5、rid&&req.body.password==user.password){res.redirect("/welcome?uid="+req.body.userid);//地址重寫(xiě)}res.redirect("/login");};exports.logout=function(req,res){res.render('login',{title:'用戶(hù)注銷(xiāo)'});};exports.welcome=function(req,res){//如果是地址欄參數(shù)使用req.query.參數(shù)名稱(chēng)接收varu
6、ser={userid:req.query.uid}res.render('welcome',{title:'程序首頁(yè)',user:user});};注:1)title是html頁(yè)面表單名稱(chēng)2)跳轉(zhuǎn)res.redirect("/welcome?uid="+req.body.userid);//地址重寫(xiě)3)如果是地址欄參數(shù)使用req.query.參數(shù)名稱(chēng)接收連接MongoDB處理mongodb的時(shí)候建議使用express-mongoose組件:npminstallexpress-mongoose安裝mo
7、ngoose:npminstallmongoose在routes創(chuàng)建models.js文件:varmongoose=require('mongoose');//定義使用組件varSchema=mongoose.Schema;//創(chuàng)建模式varUserSchema=newSchema({userid:String,name:String,password:String});//定義了一個(gè)新的模式,但是此模式還未和users集合有關(guān)聯(lián)exports.User=mongoose.model('User',U
8、serSchema);//與Users表關(guān)聯(lián)修改index.js文件,使用新的組件模塊varmongoose=require('mongoose');//導(dǎo)入組件varmodels=require('./models');//導(dǎo)入自定義組件varUser=models.User;//使用User模型,對(duì)應(yīng)的users表mongoose.connect('mongodb://localhost/mldndb');//連接數(shù)據(jù)庫(kù)