express连接mongo数据库

黄凌龙
2023-12-01

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 //这里表示数据库连接成功








 类似资料: