1. 程式人生 > 程式設計 >node.js +mongdb實現登入功能

node.js +mongdb實現登入功能

一、開發環境準備

npm init -y //初始化倉庫
npm i koa koa-router -S //安裝koa和路由模組
npm i nodemon -S

二、開啟node服務

//index.js
const koa = require("koa");
const router = require("koa-router")();
const app = new koa();
router.get("/",async ctx=>{
 ctx.body = "我是首頁"
})
app.use(router.routes());
app.listen(8080);

三、配置art-template

3-1 安裝依賴

npm install koa-art-template art-template -S

四、拆分路由系統

在這裡插入圖片描述

//routers-index.js
const router = require("koa-router")();
router.get("/",async ctx => {
 await ctx.render('index');
})
module.exports = router;
//index.js
const koa = require("koa");
const router = require('./routers/index.js');
const render = require('koa-art-template');
const app = new koa();
const path = require("path");
render(app,{
 root: path.join(__dirname,'views'),extname: '.html',debug: process.env.NODE_ENV !== 'production'
});

app.use(router.routes());
app.listen(8080);

五、初始化專案的配置檔案

node.js +mongdb實現登入功能

//init-config.js
const path = require("path");
const render = require('koa-art-template');
const router = require('../routers/index');
function initConfig(app) {
 // process.cwd()可以讀取專案的路徑
 render(app,{
  root: path.join(process.cwd(),debug: process.env.NODE_ENV !== 'production'
 });

 app.use(router.routes());
}
module.exports = initConfig;
//index.js
const koa = require("koa");
const app = new koa();
let initConfig = require('./init/config');
initConfig(app);
app.listen(8080);

六、MVC設計專案結構

model -->資料層
views -->檢視層
controllers -->檢視控制層

在這裡插入圖片描述

//routers--index.js
const router = require("koa-router")();
const controllers = require("../controllers");
// 只寫檔名預設會讀取檔案裡的index.js
router.get("/",controllers.index)
module.exports = router;
//controller--index.js
let index = async ctx=>{
 await ctx.render('index');
}
module.exports = {
 index
}

七、獲取post傳值

//1.安裝依賴
npm i koa-bodyparser -S
//2.進行專案的配置
var Koa = require('koa');
var bodyParser = require('koa-bodyparser');

var app = new Koa();
app.use(bodyParser());

app.use(async ctx => {
 //3.取值 ctx.request.body
 ctx.body = ctx.request.body;
});

八、連線資料庫

npm i mongoose -S
//models --db.js
const mongoose = require('mongoose');
mongoose.connect( 'mongodb://127.0.0.1:27017/studentManage',{useNewUrlParser: true},(err)=>{
 if(err) throw err;
 console.log("database連線成功")
});
module.exports = mongoose;
//models --user.js
var mongoose = require('./db');
var UserSchema = new mongoose.Schema({
 name:String,pwd:String
})
var User = mongoose.model('User',UserSchema,'user');
module.exports = User;
//controllers -- index.js
let doLogin = async ctx=>{
 let {user,pwd} = ctx.request.body;
 let data = await UserModel.find({name:user,pwd});
 console.log(data);
 // 資料庫中有對應的使用者名稱密碼則陣列有東西,沒有則陣列沒東西
 if(data.length>0){
  /* 登入成功 */
  ctx.body = "登入成功"
 }else{
  ctx.body = "使用者名稱和密碼不存在"
 } 
}

總結

到此這篇關於node.js +mongdb實現登入功能的文章就介紹到這了,更多相關node.js mongdb實現登入內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!