>
Z1206: hello
简单的设置Express服务器连接MongoDB数据库

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

全栈类别里面最常见的可能就是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://<username>:<password>@开头。

切记这个设置里面有敏感数据,不要提交到代码仓库里面。记得把包含敏感数据的文件路径写进.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信息了。