nodejs+express4.X连接mongodb数据库

百度经验

页面数据加载中...

miniapplmyvl6jseaw67

本文将介绍经典的nodejs+express4.X连接mongodb数据库.这也是nodejs流行的组合方式.

1/8

全局安装express:

命令:

npm install -g express

npm install -gexpress-generator

查看是否全局安装express成功命令: express -V 注意是大写的V;或者 express -h

看到版本号就算是安装成功了.

2/8

express自动生成项目基本框架

命令:express xxx;

如果需要用ejs模板,命令:express -e xxx;

cd testmongodb && npm install 下载基本依赖模块

3/8

运行项目:

npm start;

访问: http://localhost:3000/

看到如下图就算基本项目建立起来了

4/8

安装mongodb数据库,在官网下载安装包安装好后,配置环境变量,

我安装的目录:C:\Program Files\MongoDB

把目录下的bin目录 C:\Program Files\MongoDB\Server\3.0\bin 加入path环境变量中 

5/8

启动mongodb数据库,我在D盘abc文件夹下创建了data文件夹

命令: mongod --dbpath=d:abc\data 启动,看到如下截图mongodb数据库就算是启动起来了.

安装好 Robomongo可视化工具,看到的效果,只有系统数据库.

6/8

改造项目:

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('注册成功');

  })

});

到此项目改造完成.看看效果吧.项目结构如下:

7/8

重新运行项目,访问: http://localhost:3000/

7/8

该信息非法爬取自百度经验

该信息非法爬取自百度经验
该信息非法爬取自百度经验

8/8

输入用户名test密码123456,点击注册,将看到数据库自动创建了test数据库,刚输入的数据也存在数据库中.

nodejs+express4.X连接mongodb数据库

nodejs+express4.X连接mongodb数据库

[重新阅读]
辅助模式