Node.js+Express+MongoDB实现简单登录注册功能

来源:互联网 发布:qq三国js心法 编辑:程序博客网 时间:2024/05/17 06:23

Node.js+Express+MongoDB实现简单登录注册功能

Mongoose操作MongoDB

名词解释

Schema : 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力

Model : 由Schema发布生成的模型,具有抽象属性和行为的数据库操作对

工程目录:



数据库表:



连接数据库connect.js

/** * Created by linziyu on 2017/7/15. *//** * 连接数据库,基本配置 * */var mongoose = require("mongoose");   //需要提前使用npm安装mongodbvar url = "mongodb://127.0.0.1:27017/nodejs";   //mongo是我的数据库var db = mongoose.connect(url);                     //连接数据库

数据模型model.js:

/** * Created by linziyu on 2017/7/15. */var mongoose = require('mongoose');var UserSchema = new mongoose.Schema({ //定义数据模型    name: String,    pwd: String});mongoose.model('u2', UserSchema);//将该Schema发布为Model,第一个参数为数据库的集合,没有会自动创建

处理登录注册login.js:

var  express=require('express');var app=express();var mongoose = require('mongoose');require('./connect.js');require('./model.js');var User = mongoose.model('u2');  //User为model namemongoose.Promise = global.Promise;  //为了避免警告的出现,因为mongoose的默认promise已经弃用了/** * 配置登录视图 */app.get('/',function (req,res) {    res.sendfile(__dirname + "/" + "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 (error,result) {        if (result==null)        {            res.sendfile(__dirname + "/" + "no.html" );        }else        {            res.sendfile(__dirname + "/" + "ok.html" );        }    })})/** * 配置注册视图 */app.get('/register.html',function (req,res) {    res.sendfile(__dirname+"/"+"register.html");})/** * 处理注册逻辑 */app.get('/register',function (req,res) {    var  name=req.query.name;    var pwd=req.query.pwd;    var user=new User(        {name:name,            pwd:pwd        }    )    user.save(function (err,result) {        if (result==null) {            res.sendfile(__dirname + "/" + "no.html" );        } else {            res.sendfile(__dirname + "/" + "register_OK.html" );        }    });})/** * 端口监听 * @type {http.Server} */var  server=app.listen(3030,function () {    console.log("start");})

登录页面login.html:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title></head><body><h1>Hello World</h1><p>Welcome to</p><form action="http://127.0.0.1:3030/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>

注册页面register.html

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title></head><body><form action="http://127.0.0.1:3030/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>
阅读全文
0 0
原创粉丝点击