Mongoose (1) 安裝並整合到專案

Mongoose 是什麼?

Mongoose 是 MongoDB 的 ODM(Object Data Modeling) 套件,可以讓我們更方便處理 CRUD。透過 mongoose 的使用,我們可以更像在操作 relational database。

安裝 mongoose

1
npm install --save mongoose

安裝好後到Express專案內新增 db 資料夾,資料夾裡新增 connect.js,這隻js裡會放連線到資料庫用的程式。

在 connect.js 裡載入mongoose,將 mongoose方法包在 connectDB函式裡並匯出

1
2
3
4
5
6
7
8
9
10
11
12
const mongoose = require('mongoose')

const connectDB = (url) => {
return mongoose.connect(url, {
useNewUrlParser: true,
useCreateIndex: true,
useFindAndModify: false,
useUnifiedTopology: true,
})
}

module.exports = connectDB

在app.js裡 載入 connectDB方法,為了讓 我們的專案在資料庫連接成功後再啟動,使用 await語法等待 connectDB()成功後,再去做app.listen()。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
require('dotenv').config();
const express = require('express');
const app = express();

const connectDB = require('./db/connect');

const port = process.env.PORT || 3000;

const start = async () => {
try {
await connectDB(process.env.MONGO_URL);
app.listen(port, console.log(`server is listening port ${port}`));
} catch (err) {
console.log(err);
}
}

start();

上面連線的port我們會存在 .env 檔裡,再用 process.env.變數的方式載入,這麼做是為了將機密資訊都放在 .env檔裡管理, .env檔並不會上傳到github上,因此相對而言是安全的。