全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

利用node.js+mongodb如何搭建一个简单登录注册的功能详解

前言

最近突然对数据库和后台感兴趣了,就开始了漫长的学习之路,想想自己只是一个前端,只会java斯科瑞普,所以就开始看nodejs,看着看着突然发现mongodb和nodejs更配哦!,遂就开了我的mongodb之路。下面话不多说了,来一起看看详细的介绍吧。

mongodb简介

就超简洁的说一下,mongo就是一个nosql的数据库,不使用sql的语法,当然其实也是大同小异的,增删改查还是差不多的,但是在概念上mongo还是跟mysql有相当大的区别的;比如在mongo中没有表的概念,而是一个集合;由于这些概念性的东西有很多,我在这里给各位附上链接,你们自己看一下biu!我是链接!;

说说我的小demo使用到的一些东西

直接怼package的依赖图片吧


说下各个部分的作用:

  • express:这就是nodejs的一个web应用的开发框架;
  • body_parser:这个写nodejs的应该都知道,用于解析客户端请求的body中的内容的一个中间件,因为要用到表单提交,所以需要解析获得的数据;
  • mongoose:从这个名字就可以知道这个是和mongodb有关系的依赖;这个依赖是nodejs封装用来连接和操作mongodb数据库的;
    其余几个我相信各位应该都知道,其实这个我相信我不介绍各位应该也都知道的,原谅我的话痨!!!

列表结构列表

还是直接怼图片吧!实在是不想生成tree了!


其实这是一个很简单的demo!主要还是体验出nodejs对前端静态资源的渲染,以及nodejs的路由,还有其对mongodb的支持!
user.js里面确定了mongoose的一个Schema,也就是写入数据库的格式

var UserSchema = new Schema({
 username : String,
 userpsw : String,
 logindate : Date
})

这样就构建了一个数据模型;

从项目目录上可以看出,我只是写了简单三个页面,其实最最最主要的只是一个文件,app.js;

app.js内容

在这个里面我主要写了关于接受前台传入的数据是怎么存入mongodb的,还有是怎么判断是否已经注册;是否输入了正确的账号密码的;

在这我放一段检测注册的代码,在注册成功后就将用户的信息写入到数据库

app.post('/register',(req, res) => {
 console.log('user in session')
 console.log(req.session);
 //先查询有没有这个user
 console.log("req.body"+req.body);
 var UserName = req.body.username;
 var UserPsw = req.body.password;
 //通过账号验证
 var updatestr = {username: UserName};
 res.setHeader('Content-type','application/json;charset=utf-8')
  console.log(updatestr);
  userSchema.find(updatestr, function(err, obj){
   if (err) {
    console.log("Error:" + err);
   }
   else {
    if(obj.length == 0){
     insert(UserName,UserPsw); 
     res.send({status:'success',message:'true'}) 
    }else{
     res.send({status:'success',message:'false'}) 
    }
   }
  }) 
});

这样的话就可以将用户传入的信息存入到数据库了;登录同理,先将传过来的数据在数据库里查询是否已经有,然后再将用户名和密码都一一对比,如果匹配的话就返回登录成功;

说说前端部分

原谅我的表达能力是真的有限,上面的后端各位肯定没怎么看懂,欢迎去观看我的源码;下面来说下我对前端部分的一些处理;
前端部分主要就是在login页,我做了一个cookie的处理,当用户点击保存账户的时候,我就将用户的信息存入cookie下次登录的时候就不用麻烦去输入用户名和密码了;

      if($('#mycheck').prop('checked')==true){
      setCookie('username',username,7);
     }

其实也就是当登录验证成功并且用户check了checkbox的时候将cookie存入;下次登录的时候直接将cookie值解析,然后放入到用户名的input框的value值中!

由于我的表达能力有限,文章可能写的不是那么详细,有看不懂的可以去看源码

github项目地址

本地下载

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持


# nodejs  # mongodb  # 登录  # nodejs登录注册  # Node.js实现登录注册功能  # node.js实现简单登录注册功能  # 图解NodeJS实现登录注册功能  # 通过Nodejs搭建网站简单实现注册登录流程  # node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能  # Node.js+Express+MySql实现用户登录注册功能  # 用node和express连接mysql实现登录注册的实现代码  # node.js+jQuery实现用户登录注册AJAX交互  # node.js实现登录注册页面  # NodeJs+MySQL实现注册登录功能  # 看着  # 是怎么  # 之路  # 写了  # 只是一个  # 就可以  # 我是  # 下次  # 几个  # 我就  # 我不  # 图片吧  # 本地下载  # 在这个  # 的说  # 有很多  # 这就是  # 说了  # 我对  # 不多 


相关文章: 建站10G流量真的够用吗?如何应对访问高峰?  网站设计制作公司地址,网站建设比较好的公司都有哪些?  PHP 500报错的快速解决方法  如何零基础开发自助建站系统?完整教程解析  广州营销型建站服务商推荐:技术优势与SEO优化解析  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  广德云建站网站建设方案与建站流程优化指南  广州商城建站系统开发成本与周期如何控制?  宝华建站服务条款解析:五站合一功能与SEO优化设置指南  C++用Dijkstra(迪杰斯特拉)算法求最短路径  高性能网站服务器配置指南:安全稳定与高效建站核心方案  枣阳网站制作,阳新火车站打的到仙岛湖多少钱?  如何通过免费商城建站系统源码自定义网站主题与功能?  如何用免费手机建站系统零基础打造专业网站?  常州企业网站制作公司,全国继续教育网怎么登录?  如何在七牛云存储上搭建网站并设置自定义域名?  建站主机选购指南:核心配置与性价比推荐解析  网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?  如何快速生成凡客建站的专业级图册?  如何在阿里云部署织梦网站?  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  如何选择美橙互联多站合一建站方案?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  如何通过西部建站助手安装IIS服务器?  家庭服务器如何搭建个人网站?  如何通过西部数码建站助手快速创建专业网站?  做企业网站制作流程,企业网站制作基本流程有哪些?  网站好制作吗知乎,网站开发好学吗?有什么技巧?  免费制作小说封面的网站有哪些,怎么接网站批量的封面单?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  网站app免费制作软件,能免费看各大网站视频的手机app?  php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】  ,想在网上投简历,哪几个网站比较好?  网页设计网站制作软件,microsoft office哪个可以创建网页?  建站与域名管理如何高效结合?  如何在服务器上配置二级域名建站?  招贴海报怎么做,什么是海报招贴?  网站图片在线制作软件,怎么在图片上做链接?  如何快速配置高效服务器建站软件?  如何通过wdcp面板快速创建网站?  制作表格网站有哪些,线上表格怎么弄?  定制建站流程步骤详解:一站式方案设计与开发指南  平台云上自主建站:模板化设计与智能工具打造高效网站  如何安全更换建站之星模板并保留数据?  如何在西部数码注册域名并快速搭建网站?  网站制作费用多少钱,一个网站的运营,需要哪些费用?  Python lxml的etree和ElementTree有什么区别  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  东莞专业制作网站的公司,东莞大学生网的网址是什么? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。