当前位置: 首页 > 后端技术 > Node.js

NodejsExpress连接Mongodb

时间:2023-04-03 12:09:30 Node.js

安装MongoDB下载mongodb设置环境变量将mongodb安装目录的E:\ProgramFiles\MongoDB\Server\3.4\bin写入环境变量启动服务控制台输入mongodb--dbpathE:\MongoDB路径\data后面是数据采集的路径。服务启动成功提示MongoDB正在监听27017端口,打开浏览器输入http://127.0.0.1:27017,会看到如下提示:  ItlookslikeYouaretryingtoaccessMongoDB通过本机驱动程序端口上的HTTP。如果觉得每次输入命令都要打开服务很麻烦,可以写成批处理文件。bat文件,写代码startmongod--dbpathE:\MongoDB\data安装模块npminstallmongoose--saveuseMongoDBconnectioninapp.jsfile//app.jsvarmongoose=require('mongoose');mongoose.connect('mongodb://localhost/blog')//连接本地数据库blogvardb=mongoose.connection;//连接成功db.on('open',function(){console.log('MongoDBConnectionSuccessful');});//连接失败db.on('error',function(){console.log('MongoDBConnectionError');});连接成功后,写一个登录注册,添加一个登录注册页面。在views模块下添加login.html和register.html

登录页面

用户名

密码:

注册页面

前往登录

用户名

密码:

年龄:

地址:

在根目录下添加Models模块路径下新建一个Models文件夹添加users.js//Models/users.jsvarmongoose=require('mongoose');varSchema=mongoose.Schema;//声明一个数据集对象varuserSchema=newSchema({username:{type:String,unique:true},password:{type:String},age:Number,address:String,createAt:{type:Date,default:Date.now()}});//公开数据模型module.exports=mongoose.模型('用户',userSchema);写路由//routes/index.jsvarexpress=require('express');varrouter=express.Router();varUser=require('../models/users');router.get('/login',function(req,res){res.render('login');});router.get('/register',function(req,res){res.render('register');});//这里的业务逻辑会写在两个post路由中router.post('/login',function(req,res){});router.post('/register',function(req,res){});这里我们需要安装一个模块body-parser来解析post请求的参数npminstallbody-parser--save//app.jsvarbodyParser=require('body-parser')app.use(bodyParser.json());app.use(正文Parser.urlencoded({extended:false}));这样我们就可以通过request.body获取到post请求的数据先写一个registered//routes/index.jsrouter.post('/register',function(req,res){//获取post提交的信息用户varpostData={username:req.body.username,password:req.body.password,age:req.body.age,address:req.body.address};//查询是否注册User.findOne({username:postData.username},function(err,data){if(data){res.send('用户名已注册');}else{//保存到数据库User.create(postData,function(err,data){if(err)throwerr;console.log('注册成功');res.redirect('/userList');//重定向到使用的用户列表})}});});//获取所有用户列表router.get('/userList',function(req,res){varuserList=User.find({},function(err,data){if(err)throwerr;res.send(data)});});上面通过mongooseapiMongooseApi操作数据库,然后验证登录router.post('/login',function(req,res){varpostData={用户名:req.body.username,密码:req.body.password};User.findOne({username:postData.username,password:postData.password},function(err,data){if(err)throwerr;if(data){res.send('登录成功');}else{res.send('账号或密码错误')}})});到这里基本完成快速连接Mongodb,插入,查询ps:参考文档MongooseApi