重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍怎么利用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值中!
由于我的表达能力有限,文章可能写的不是那么详细,有看不懂的可以去看源码
以上是“怎么利用node.js+mongodb搭建一个简单登录注册的案例”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联网站建设公司行业资讯频道!
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。