node+express+mongDB实现简单登录注册
2018-04-13 本文已影响0人
我是你的瑞雪呀
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
[图片上传失败...(image-140bf9-1523600441063)]
var mongoose = require('mongoose');
var UserSchema =new mongoose.Schema({
//定义数据模型
name:String,
pwd:String
});
// 将这个User Schema,发布为Model,第一个参数为数据库的一个集合(表),没有 会自动创建
mongoose.model('u2',UserSchema);
创建视图文件view
[图片上传失败...(image-cad1c7-1523600441063)]
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:
[图片上传失败...(image-512d82-1523600441063)]
<!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数据库(这里用了可视化工具)
[图片上传失败...(image-390b69-1523600441063)]