express连接mongo数据库

1.在app.js中添加以下代码

var mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/cartList')     //连接本地数据库blog

var db = mongoose.connection;

// 连接成功
db.on('open', function(){
    console.log('MongoDB Connection Successed');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false}));

});// 连接失败db.on('error', function(){ console.log('MongoDB Connection Error');});

2.创建config文件夹,在config文件下创建config.js ,  mongoose.js

config.js里添加代码

module.exports = {
    mongodb : 'mongodb://localhost:27017/cartList'  //cartList是在mongo下创建的项目
}

3.mongoose.js里添加代码

const mongoose = require('mongoose');
const config = require('./config');
module.exports = ()=>{
    //  mongoose.Promise = global.Promise;//如果有promise的问题,可以用这个试试
    mongoose.connect(config.mongodb);//连接mongodb数据库
    // 实例化连接对象
    var db = mongoose.connection;
    db.on('error', console.error.bind(console, '连接错误:'));
    db.once('open', (callback) => {
        console.log('MongoDB连接成功!!');
    });
    return db;
}

4.路由的编写

index.js 里编写路由

var express = require('express');
var router = express.Router();  
router.get('/', function(req, res, next) {
    res.render('html/home');
    // res.render('index', { title: 'Express' });
});
router.get('/home', function(req, res) {
    res.render('html/home');
});   //这里引入的是我写的一个页面,名为home,在html文件下,如果还要添加另一个页面的路由的话,只需重复最后一段代码就可以了,
而我在这里遇到的问题是当我重复最后一段代码的时候出现页面加载不出来的情况,
后将第二个页面的res.render('html/itemlist')换作res.sendfile(根目录)就可以看到了

根目录的获取方式是鼠标右键Copy Path

5.安装一个模块 body-parser 用来解析post请求的参数

npm install body-parser --save

app.js中加入代码

var bodyParser = require('body-parser')
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false}));

6.终端运行

cd cartlist &&npm install
npm start
之后在终端显示
niuxushuo@niuxushuo-Inspiron-3437:~/cartList$ npm start

> cartlist@0.0.0 start /home/niuxushuo/cartList
> node ./bin/www

MongoDB Connection Successed //这里表示数据库连接成功








  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值