exprss學習參考資料
npm 與 package.json 快速入門
MongoDB的資料庫和集合的基礎操作
安裝依賴包
` npm install express -save
npm install mongoose -save
`
編寫入口檔案
app.js:
var express = require(`express`)
var path = require("path")
var app=express()
var mongoose=require(`mongoose`)
require(`./Schemas/UserSchema.js`)
var User=mongoose.model(`u2`);//User為model name
var url = "mongodb://127.0.0.1:27017/nodejs"; //mongo是我的資料庫
var db = mongoose.connect(url); //連線資料庫
/**
* 埠監聽
*/
var server=app.listen(3000,function () {
console.log("start");
})
//靜態檔案放在view裡
app.use(express.static(`view`));
// view engine setup
app.set(`views`, path.join(__dirname, `view`));
app.set(`view engine`, `html`);
// 拿出login的檢視
app.get(`/`,function(req,res){
res.sendfile(__dirname+`/`+`view/login.html`)
})
//
// 登入的處理邏輯
//
app.get(`/login`,function(req,res){
var name=req.query.name;
var pwd=req.query.pwd;
User.findOne({name:name,pwd:pwd},function(err,result){
//把返回的值,傳入回撥函式
if (result==null) {
res.sendfile(__dirname+`/`+`view/no.html`);
} else {
res.sendfile(__dirname+`/`+`view/index.html`);
}
})
})
//註冊邏輯
//
app.get(`/register`,function(req,res){
var name=req.query.name;
var pwd=req.query.pwd;
//通過model建立一個document
var user=new User(
{
name: name,
pwd: pwd
}
)
//儲存到資料庫裡
//MongoDB 使用 insert() 或 save() 方法向集合中插入文件
//如果不指定 _id 欄位 save() 方法類似於 insert() 方法。如果指定 _id 欄位,則會更新該 _id 的資料。
user.save(function(err,result){
if(result==null){
res.sendfile(__dirname + "/" + "view/no.html" );
}else {
res.sendfile(__dirname + "/" + "view/register_OK.html" );}
})
})
資料庫的schema檔案 schemas/userSchema.js
var mongoose = require(`mongoose`);
var UserSchema =new mongoose.Schema({
//定義資料模型
name:String,
pwd:String
});
// 將這個User Schema,釋出為Model,第一個引數為資料庫的一個集合(表),沒有 會自動建立
mongoose.model(`u2`,UserSchema);
建立檢視檔案view
eg:register.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>註冊</title>
</head>
<body>
<form action="http://127.0.0.1:3000/register" >
<p>
<span>name:</span>
<br>
<input name="name" type="text">
</p>
<p>
<span>password:</span>
<br>
<input name="pwd" >
</p>
<p><input type="submit" value="submit"></p>
</form>
</body>
</html>
login.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>登入</title>
</head>
<body>
<h1>Hello World</h1>
<p>Welcome to</p>
<form action="http://127.0.0.1:3000/login" >
<p>
<span>name:</span>
<br>
<input name="name" type="text">
</p>
<p>
<span>password:</span>
<br>
<input name="pwd" >
</p>
<p><input type="submit" value="submit"></p>
</form>
<a href="./register.html">註冊</a>
</body>
</html>
成功了!看看我們的MongoDB資料庫(這裡用了視覺化工具)