node.js +mongdb实现登录功能


Posted in Javascript onJune 18, 2020

一、开发环境准备

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

四、拆分路由系统

node.js +mongdb实现登录功能

//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(), 'views'),
  extname: '.html',
  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 -->视图控制层

node.js +mongdb实现登录功能

//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实现登录内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
精通Javascript系列之数据类型 字符串
Jun 08 Javascript
js事件(Event)知识整理
Oct 11 Javascript
JavaScript中switch判断容易犯错的一个细节
Aug 27 Javascript
跟我学习javascript的prototype使用注意事项
Nov 17 Javascript
详解JavaScript UTC时间转换方法
Jan 07 Javascript
微信小程序页面开发注意事项整理
May 18 Javascript
原生js实现简单的模态框示例
Sep 08 Javascript
js封装成插件的步骤方法
Sep 11 Javascript
Angular.js实现获取验证码倒计时60秒按钮的简单方法
Oct 18 Javascript
JS实现的邮箱提示补全效果示例
Jan 30 Javascript
vue中echarts3.0自适应的方法
Feb 26 Javascript
Vue中避免滥用this去读取data中数据
Mar 02 Vue.js
VSCode launch.json配置详细教程
Jun 18 #Javascript
JavaScript中使用Spread运算符的八种方法总结
Jun 18 #Javascript
通过实例了解JS执行上下文运行原理
Jun 17 #Javascript
从0搭建vue-cli4脚手架
Jun 17 #Javascript
微信小程序点击生成朋友圈分享图(遇到的坑)
Jun 17 #Javascript
基于JS+HTML实现弹窗提示是否确认提交功能
Jun 17 #Javascript
vue移动端的左右滑动事件详解
Jun 17 #Javascript
You might like
用PHP和ACCESS写聊天室(三)
2006/10/09 PHP
基于PHP生成静态页的实现方法
2013/05/10 PHP
关于PHP session 存储方式的详细介绍
2013/06/25 PHP
PHP判断一个gif图片是否为动态图片的方法
2014/11/19 PHP
PHP实现的简单日历类
2014/11/29 PHP
php+mysqli批量查询多张表数据的方法
2015/01/29 PHP
php实现的RSS生成类实例
2015/04/23 PHP
PHP magento后台无法登录问题解决方法
2016/11/24 PHP
js arguments对象应用介绍
2012/11/28 Javascript
javaScript arguments 对象使用介绍
2013/10/18 Javascript
Jquery uploadify图片上传插件无法上传的解决方法
2013/12/16 Javascript
javascript实现的HashMap类代码
2014/06/27 Javascript
无限树Jquery插件zTree的常用功能特性总结
2014/09/11 Javascript
Javascript 拖拽的一些高级的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
原生JavaScript编写俄罗斯方块
2015/03/30 Javascript
jquery结婚电子请柬特效源码分享
2015/08/21 Javascript
JavaScipt中栈的实现方法
2016/02/17 Javascript
基于AGS JS开发自定义贴图图层
2017/03/31 Javascript
ES6模块化的import和export用法方法总结
2017/08/08 Javascript
JavaScript学习笔记之DOM基础操作实例小结
2019/01/09 Javascript
Python def函数的定义、使用及参数传递实现代码
2014/08/10 Python
编写Python脚本批量下载DesktopNexus壁纸的教程
2015/05/06 Python
python中使用xlrd读excel使用xlwt写excel的实例代码
2018/01/31 Python
对numpy中shape的深入理解
2018/06/15 Python
python 画三维图像 曲面图和散点图的示例
2018/12/29 Python
python实现五子棋人机对战游戏
2020/03/25 Python
python实现ip地址的包含关系判断
2020/02/07 Python
微信端html5页面调用分享接口示例
2018/03/14 HTML / CSS
美国网上鞋子零售商:Dr. Scholl’s Shoes
2017/11/17 全球购物
电子商务专业学生的学习自我评价
2013/10/27 职场文书
教师的实习自我鉴定
2013/12/17 职场文书
学生会招新策划书
2014/02/14 职场文书
大二法英学生职业生涯规划范文
2014/02/27 职场文书
篮球兴趣小组活动总结
2014/07/07 职场文书
画展邀请函
2015/01/31 职场文书
浅谈:电影《孔子》观后感(范文)
2019/10/14 职场文书