简单的设置Express服务器连接MongoDB数据库

2020年06月01号 00:00 — Written by Z1206
#后端#全栈#WebDev#DB

全栈类别里面最常见的可能就是MERN(Mongodb, Express, React, Nodejs)了。其中React和Nodejs是绝大部分前端工程师都有涉及的部分。对大部分前端工程师来讲,向全栈出发的第一步是加深了解Mongodb和Express了。

数据库Mongodb语法和结构和JS,JSON有类似之处,所以很多JS工程师偏爱Mongodb。更不用说Express了,作为一个基于NodeJS的后端库,很容易上手。

我们可以写一写最基本的Mongodb和Express连接的实现。

首先我们要用到的库有:

  • mongoose:是Mongodb的一个对象模型工具,让Nodejs操作Mongodb数据库变得更加灵活简单。
  • config:帮助归纳方便管理Node配置参数的一个库。

1. 设置config

这个config库会自动调用项目下./config/default.json里面的数据。我们需要手动设置这个default.json文件:

{ "mongoURI":"YOUR_MONGODB_SECRET_STRING" }

mongoURI的值包含你的Mongodb用户名和密码,具体字符串你可以从Mongodb数据库设置里面找到。具体格式为一个字符串以“mongodb+srv://:@”开头。

切记这个设置里面有敏感数据,不要提交到代码仓库里面。记得把包含敏感数据的文件路径写进.gitignore里面。

2. 设置mongoose连接数据库

我在config文件夹下面又创造了db.js文件来处理mongoose连接数据库的部分。

const mongoose = require('mongoose'); const config = require('config'); const db = config.get('mongoURI'); const connectDB = async () => { try { await mongoose.connect(db); console.log('MongoDB已连接...'); } catch (err) { console.error(err.message); // 如果有错误调用process.exit()让Nodejs结束进程,参数1为'failure' process.exit(1); } } module.exports = connectDB;

3. 设置express

项目根目录下的server.js

const express = require('express'); const connectDB = require('./config/db'); const PORT = process.env.PORT || 5000; const app = express(); // Connect DB connectDB(); app.get('/', (req, res) => { res.send('API Running'); }); app.listen(PORT, () => console.log(`Server started on port ${PORT}`));

很简单明了。

现在运行node或者nodemon server.js就应该能看到数据库连接的信息和服务器在听5000端口的log信息了。

Created by Z1206 © 2020