node+express+mongDB实现简单登录注册
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 namevar 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建立一个documentvar 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数据库(这里用了可视化工具)
node+express+mongDB实现简单登录注册相关推荐
- tornado 08 数据库-ORM-SQLAlchemy-表关系和简单登录注册
tornado 08 数据库-ORM-SQLAlchemy-表关系和简单登录注册 引言 #在数据库,所谓表关系,只是人为认为的添加上去的表与表之间的关系,只是逻辑上认为的关系,实际上数据库里面的表之间 ...
- java注册登录小程序,详解小程序之简单登录注册表单验证
这段时间在做员工管理的小程序,前期在登录注册上花了不少功夫,今天就给大家分享下. 效果图,wxss的内容较简单,自己编写即可. ##主要内容 一.首先我是在util.js中引入表单正则验证规则,给予l ...
- 小程序之简单登录注册表单验证
这段时间在做员工管理的小程序,前期在登录注册上花了不少功夫,今天就给大家分享下. 效果图,wxss的内容较简单,自己编写即可. ##主要内容 一.首先我是在util.js中引入表单正则验证规则,给予l ...
- Java小案例——方法实现简单登录注册
简单登录和注册 一.登录 1. 内容介绍 定义一个内置的账号和密码,写好账号输入.密码输入.随机验证码生成.验证码输入方法(3个输入方法没有使用重载)以及账号密码验证码比较方法.调用这些方法实现简单的 ...
- php简单论坛登录注册,php简单登录注册验证
列表页 //连接数据库 $db = new MySQLi('localhost','root','','z_1032'); !mysqli_connect_error() or die('连接失败') ...
- html表单实现ajax登陆,node.js+jQuery实现用户登录注册AJAX交互
最近实现了Node.js当作后台,jQuery写前台AJAX代码的,实现用户登录和注册的功能,刷新了前后端交互的三观.特记录一下. 1.login.ejs实现form框架 用户名 密码 form不加m ...
- Node.js开发的后端登录注册
1.需要用的包.库 npm i express@next 需要用express请求 文档链接 npm i mongoose mongDB数据库 可以自动创建你所需要的数据库 文档链接 密钥加密 ...
- vue+node(express)+socket实现简单聊天
前端代码 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8 ...
- 【HTML/CSS】简单登录注册表单制作
实现效果: <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF- ...
最新文章
- 十年后你用什么听音乐?
- OpenCV实现幻灯片模糊slides blur的实例(附完整代码)
- Python 程序 运行过程
- JVM(二)Java虚拟机组成详解
- php代码怎么看错在哪里,PHP代码不知道哪里错了。
- linux messages日志为空,自定义linux系统日志格式(messages,cron,ssh等日志格式)
- ping命令执行过程详解
- 常用排序算法(六)——希尔排序
- diabetes影响因子2017_2017年SCI影响因子发布,几家欢喜几家愁
- 如何认识会计科目,看懂财务报表
- ps怎么制作流体_如何在PS中制作流体效果的字体
- Python OpenCV 实现对图片旋转矩形的裁剪
- 《动手学深度学习(PYTORCH版)》第3章引入“d2lzh_pytorch”包报错:No module named ‘torchtext’
- LaTex 美赛笔记
- 程序员用技术在「抖音」上「撩妹」
- 清晰的理解大端和小端
- 电脑上的打印记录在哪里查看?
- Matlab的运算符
- Arcgis实例操作19--面要素距离点最近的位置、线要素切割面、计算有毒气体的开敞空间面积
- web漏洞 云盾_云盾WAF实现虚拟补丁——记一起Web漏洞应急响应