nodejs+express4.X连接mongodb数据库
- 原创
- |
- 浏览:1368
- |
- 更新:
本文将介绍经典的nodejs+express4.X连接mongodb数据库.这也是nodejs流行的组合方式.
方法/步骤
全局安装express:
命令:
npm install -g express
npm install -gexpress-generator
查看是否全局安装express成功命令: express -V 注意是大写的V;或者 express -h
看到版本号就算是安装成功了.
express自动生成项目基本框架
命令:express xxx;
如果需要用ejs模板,命令:express -e xxx;
cd testmongodb && npm install 下载基本依赖模块
运行项目:
npm start;
访问: http://localhost:3000/
看到如下图就算基本项目建立起来了
安装mongodb数据库,在官网下载安装包安装好后,配置环境变量,
我安装的目录:C:\Program Files\MongoDB
把目录下的bin目录 C:\Program Files\MongoDB\Server\3.0\bin 加入path环境变量中
启动mongodb数据库,我在D盘abc文件夹下创建了data文件夹
命令: mongod --dbpath=d:abc\data 启动,看到如下截图mongodb数据库就算是启动起来了.
安装好 Robomongo可视化工具,看到的效果,只有系统数据库.
改造项目:
1.app.js里全局引入mongoose,本地test数据库,
var mongoose=require('mongoose');
mongoose.connect('mongodb://localhost/test?poolSize=40');
2.在项目根目录创建schemas目录用于存放模式文件,以用户表为例:
//users:用户模式文件
var mongoose=require('mongoose');
var UserSchema=new mongoose.Schema({
username:{unique:true, type:String},
password:String,
})
module.exports=UserSchema;
3.在项目根目录创建models目录用于存放模型文件,以用户表为例:
var mongoose=require('mongoose');
var UserSchema=require('../schemas/user');
var User=mongoose.model('User',UserSchema);
module.exports=User;
4.index.ejs加入一个form模拟注册.
<form id="regForm" method="post" action="reg">
<h2>用户注册</h2>
<hr/>
<label for="username" >用户</label>
<input id="username" type="text" placeholder="输入注册用户名" name="username"/>
<br/>
<label for="password">密码</label>
<input id="password" type="password" placeholder="用户密码" name="password" />
<br/>
<button type="submit">注册</button>
</form>
5.index.js路由添加一个方法,注册跳转方法.
router.post('/reg', function(req, res, next) {
var b = req.body;
var _user={
username: b.username,
password: b.password
}
var user=new User(_user);
user.save(function(err,user){
if (err) {
console.log(err);
return;
}
console.log('注册成功');
res.send('注册成功');
})
});
到此项目改造完成.看看效果吧.项目结构如下:
重新运行项目,访问: http://localhost:3000/
- 该信息非法爬取自百度经验
输入用户名test密码123456,点击注册,将看到数据库自动创建了test数据库,刚输入的数据也存在数据库中.
END

















