※ 具備三項工具:
- 編輯器
- 終端機
- 瀏覽器
※ 步驟一:建立資料夾
mkdir mongodb-demo
cd mongodb-demo
code .
※ 步驟二:初始化,建立package.json
npm init -y
※ 步驟三:安裝網頁伺服器 – Express
因為Express 是一個 Node.js 網路應用框架,透過它能快速建立簡單且可用的網頁伺服器。npm install express -p
※ 步驟四:導入 Express 模組
const express = require('express')
※ 步驟五:建立一個 Express 應用
const app = express()
※ 步驟六:啟動並監聽伺服器
const PORT = 3000
app.listen(PORT, () => {
console.log(`App is running on http://localhost:${PORT}`)
})
※ 步驟七:安裝nodemon 自動重啟伺服器
npm install -g nodemon
※ 步驟八:使用 nodemon
nodemon app.js
※ 步驟九:Express 中設定路由
app.get('/', (req, res) => {
res.status(200).send('OK')
})
※ 步驟十:下載Mongoose
npm install mongoose -p
※ 步驟十一:引進Mongoose並和資料庫連線
mongoose.connect('mongodb://localhost/school', {
useNewUrlParser: true,
useUnifiedTopology: true
});
※ 步驟十二:建立Schema
const SchoolSchema = new mongoose.Schema({
name: String,
level: Number,
is_close: Boolean
})
※ 步驟十三:建立Model
const School = mongoose.model('school', SchoolSchema)
※ 步驟十四:使用Find找到資料庫裡面的資料
app.get('/', async (req, res) => {
const schools = await School.find({})
res.status(200).send(schools)
})
※ 步驟十五:新增資料
app.post('/school', async (req, res) => {
await School.create({
name: '我的大學',
level: 0,
is_close: false
})
res.status(200).send('Create School Success')
})
※ 步驟十六:刪除資料
app.delete('/school', async (req, res) => {
const { id } = req.query
await School.deleteOne({
_id: id
})
res.status(200).send('Delete' + id + 'School Success')
})
※ 步驟十七:更新資料
app.put('/school', async (req, res) => {
const { id, name, is_close } = req.query
await School.updateOne({ _id: id }, {
name,
is_close
})
res.status(200).send('Update_id' + id + 'School Success')
})