使用express连接mongodb数据库

前提:电脑中安装了node和mongodb

一、准备工作

1、要在全局环境下安装express以及它的生成器

npm install express -g
npm install -g express-generator

2、创建项目

npm init -y
express -e  project(e表示模板引擎 是ejs   project代表项目的名称)

3、安装依赖包以及mongoose

npm install
npm install mongoose --save

4、在启动项目之前可以修改两个地方

  • 修改端口号:
    bin/www 文件夹中修改端口号var port = normalizePort(process.env.PORT || '50');
  • 修改后自动启动项目,这个必须提前在全局安装好nodemon
    package.json 文件夹中将node改为nodemon:"start": "nodemon ./bin/www"
    5、启动项目
    npm start

二、使用mongoose连接数据库
1、在项目根目录下创建lib文件夹,依次创建以下文件,写入代码
mongoose.js:用于连接数据库的

 //先引入mongoose模块
var mongoose = require("mongoose");
//连接数据库服务器
mongoose.connect('mongodb://localhost/myDB', {
    useNewUrlParser: true,
    useUnifiedTopology: true
}, function (error) {
    if (error) {
        console.log("数据库连接失败")
    } else {
        console.log("数据库连接成功")
    }
})
//导出
module.exports = mongoose;

schema.js:用来给数据库的内容加限定条件的

 //引入mongoose.js文件
 var mongoose = require("./mongoose.js")
 //定义schema
 var schema = mongoose.Schema
 const blog=new schema({
     //这里是数据库自己创建的属性名:他的属性类型   如:
     'user' : {type : String , require : true},
     'pwd' : {type : String , require: true}
 })
 //导出
 module.exports = blog;

appMode.js:用来定义使用哪个约束条件来约束这个表。

 //引入mongoose.js 文件
 var mongoose = require("./mongoose");
 //引入schema.js 文件
 var schema = require("./schema");
 //定义模型 表名为our
 var appModel = mongoose.model("our", schema);
 //导出
 module.exports = appModel;

2、然后在router文件夹下的user.js中写入以下内容

router.post("/add", function (req, res) {
  //插入数据
  mongo.insertMany({
    user: req.body.name,
    pwd: req.body.password,
    sex: req.body.sex
  }).then((data) => {
    console.log('插入成功');
  }).catch((err) => {
    console.log('插入失败');
  });
  res.send("添加成功")
})

由于router.js中的文件已经提前在app.js中配置好了路由,因此访问的时候可以使用localhost:50/users/add
在这里插入图片描述
到这里数据库已经连接成功了,可以使用postman去测试一下写的这个接口是否可用
在这里插入图片描述

三、由于使用express -e生成的项目是ejs模版引擎,修改为后缀为:.html

  1. 首先框架已经搭建好,然后下载ejs模块并保存到package.josn中去
    npm intsall ejs --save
  2. 在app.js文件下,引用ejs的那一行代码改成如下代码:
    var ejs = require('ejs')
    在将配置模版引擎的代码修改如下。
app.set('views', path.join(__dirname, 'views'));
app.engine('.html', ejs.__express); //设置ejs渲染html
app.set('view engine', 'html');//修改为html的模板引擎
  1. 最后把views下的ejs后缀的文件改成html后缀就行了
  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值