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

发布时间 - 2026-01-11 02:33:44    点击率:

前言

最近突然对数据库和后台感兴趣了,就开始了漫长的学习之路,想想自己只是一个前端,只会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实现注册登录功能  # 看着  # 是怎么  # 之路  # 写了  # 只是一个  # 就可以  # 我是  # 下次  # 几个  # 我就  # 我不  # 图片吧  # 本地下载  # 在这个  # 的说  # 有很多  # 这就是  # 说了  # 我对  # 不多 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  Laravel Docker环境搭建教程_Laravel Sail使用指南  如何在橙子建站上传落地页?操作指南详解  如何获取PHP WAP自助建站系统源码?  如何在腾讯云服务器上快速搭建个人网站?  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  高性能网站服务器配置指南:安全稳定与高效建站核心方案  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  公司网站制作需要多少钱,找人做公司网站需要多少钱?  如何在IIS7中新建站点?详细步骤解析  教学论文网站制作软件有哪些,写论文用什么软件 ?  网站建设保证美观性,需要考虑的几点问题!  JavaScript如何实现错误处理_try...catch如何捕获异常?  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  如何在景安云服务器上绑定域名并配置虚拟主机?  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  如何撰写建站申请书?关键要点有哪些?  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  微信小程序 配置文件详细介绍  如何快速查询网站的真实建站时间?  Android GridView 滑动条设置一直显示状态(推荐)  Laravel怎么上传文件_Laravel图片上传及存储配置  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  免费视频制作网站,更新又快又好的免费电影网站?  微信小程序 canvas开发实例及注意事项  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  Linux系统运维自动化项目教程_Ansible批量管理实战  JavaScript Ajax实现异步通信  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  如何在阿里云通过域名搭建网站?  如何在万网主机上快速搭建网站?  网站建设要注意的标准 促进网站用户好感度!  javascript读取文本节点方法小结  Laravel如何使用Gate和Policy进行授权?(权限控制)  微信小程序 require机制详解及实例代码  北京的网站制作公司有哪些,哪个视频网站最好?  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  JavaScript如何实现音频处理_Web Audio API如何工作?  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  大型企业网站制作流程,做网站需要注册公司吗?  如何快速上传建站程序避免常见错误?  JS去除重复并统计数量的实现方法  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  HTML 中如何正确使用模板变量为元素的 name 属性赋值  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南