MongoDB(三) :Mongoose實戰

更新於 發佈於 閱讀時間約 5 分鐘

※ 具備三項工具:

  1. 編輯器
  2. 終端機
  3. 瀏覽器

※ 步驟一:建立資料夾

mkdir mongodb-demo
cd mongodb-demo
code .

※ 步驟二:初始化,建立package.json

npm init -y


※ 步驟三:安裝網頁伺服器 – Express

因為Express 是一個 Node.js 網路應用框架,透過它能快速建立簡單且可用的網頁伺服器。

npm install express -p
raw-image


※ 步驟四:導入 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
raw-image



※ 步驟九:Express 中設定路由

app.get('/', (req, res) => {
res.status(200).send('OK')
})
raw-image


※ 步驟十:下載Mongoose

npm install mongoose -p
raw-image


※ 步驟十一:引進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找到資料庫裡面的資料


//async 和 await 使得寫異步代碼的過程更像是寫同步代碼
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')
})
留言
avatar-img
留言分享你的想法!
avatar-img
奧莉薇走在成為後端工程師之路上
18會員
138內容數
全端網頁開發專業知識分享
2025/04/26
※ 場景: 即時聊天應用: 設計一個支持多房間功能的即時聊天平台,像 WhatsApp、LINE或Facebook Messenger,提供文字、語音、視訊聊天功能,方便管理群組聊天。 功能亮點:加入特別功能,例如可加入多房間功能、使用者名單、表情符號支持、文件分享或訊息已讀未讀狀態。 展示
2025/04/26
※ 場景: 即時聊天應用: 設計一個支持多房間功能的即時聊天平台,像 WhatsApp、LINE或Facebook Messenger,提供文字、語音、視訊聊天功能,方便管理群組聊天。 功能亮點:加入特別功能,例如可加入多房間功能、使用者名單、表情符號支持、文件分享或訊息已讀未讀狀態。 展示
2025/04/26
※ 先建立基本的express後端服務: 1.建立新資料夾:Socket mkdir socket 2.進入資料夾:Socket cd ​bsocket 3. 安裝 Experss 到專案中 npm init -y //初始化專案,建立 package.json 檔 npm insta
Thumbnail
2025/04/26
※ 先建立基本的express後端服務: 1.建立新資料夾:Socket mkdir socket 2.進入資料夾:Socket cd ​bsocket 3. 安裝 Experss 到專案中 npm init -y //初始化專案,建立 package.json 檔 npm insta
Thumbnail
2025/04/10
※ 什麼是 Socket.io:一個基於傳統 WebSocket API 之上的框架。 ※ Socket.io常用功能: Custom Events:在 Socket.io 中,開發者可以創建自己的事件來處理特定的功能或需求。 Rooms:分組的功能。每個連接的用戶(或稱為 socket)可
Thumbnail
2025/04/10
※ 什麼是 Socket.io:一個基於傳統 WebSocket API 之上的框架。 ※ Socket.io常用功能: Custom Events:在 Socket.io 中,開發者可以創建自己的事件來處理特定的功能或需求。 Rooms:分組的功能。每個連接的用戶(或稱為 socket)可
Thumbnail
看更多
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
※ 先建立基本的express後端服務: 1.建立新資料夾:WebSocket mkdir websocket 2.進入資料夾:WebSocket cd ​websocket 3. 安裝 Experss 到專案中 npm init -y //初始化專案,建立 package.json 檔
Thumbnail
※ 先建立基本的express後端服務: 1.建立新資料夾:WebSocket mkdir websocket 2.進入資料夾:WebSocket cd ​websocket 3. 安裝 Experss 到專案中 npm init -y //初始化專案,建立 package.json 檔
Thumbnail
※ 具備三項工具: 編輯器 終端機 瀏覽器 ※ 步驟一:建立資料夾 mkdir mongodb-demo cd mongodb-demo code . ※ 步驟二:初始化,建立package.json npm init -y ※ 步驟三:安裝網頁伺服器 – Express 因為
Thumbnail
※ 具備三項工具: 編輯器 終端機 瀏覽器 ※ 步驟一:建立資料夾 mkdir mongodb-demo cd mongodb-demo code . ※ 步驟二:初始化,建立package.json npm init -y ※ 步驟三:安裝網頁伺服器 – Express 因為
Thumbnail
※建置 MongoDB 資料庫,可以有兩種方式: 上 MongoDB 官網,把 MongoDB 的軟體下載下來,在本地安裝資料庫。 使用 MongoDB Atlas,這是 MongoDB 官方提供的全球雲端文件資料庫服務。 兩者的功能和操作上是相同的,在本地安裝與啟動資料庫會有連線速度上的優勢
Thumbnail
※建置 MongoDB 資料庫,可以有兩種方式: 上 MongoDB 官網,把 MongoDB 的軟體下載下來,在本地安裝資料庫。 使用 MongoDB Atlas,這是 MongoDB 官方提供的全球雲端文件資料庫服務。 兩者的功能和操作上是相同的,在本地安裝與啟動資料庫會有連線速度上的優勢
Thumbnail
本篇文章將教你如何在Kubernetes cluster內部署一個MongoDB,包括取得Manifests、建立Volume、部署實務、基本操作和結論。透過操作演示,讓你瞭解在實務上如何成功建立MongoDB,並進行基本操作。
Thumbnail
本篇文章將教你如何在Kubernetes cluster內部署一個MongoDB,包括取得Manifests、建立Volume、部署實務、基本操作和結論。透過操作演示,讓你瞭解在實務上如何成功建立MongoDB,並進行基本操作。
Thumbnail
詳細解說如何在 Mac 上透過 Docker 安裝 MongoDB 社群版。包括 MongoDB Compass 的安裝與配置,以及 MongoDB Shell 的使用方法,為開發者提供 MongoDB 學習資源。
Thumbnail
詳細解說如何在 Mac 上透過 Docker 安裝 MongoDB 社群版。包括 MongoDB Compass 的安裝與配置,以及 MongoDB Shell 的使用方法,為開發者提供 MongoDB 學習資源。
Thumbnail
為了做登入log紀錄,練習mongoDB來存放log資料,這邊就來紀錄 Laravel 配置mongoDB的實作,而原本我的side project是練習搭建docker開發環境,故這邊會以dockerfile來設定跟紀錄踩坑問題。
Thumbnail
為了做登入log紀錄,練習mongoDB來存放log資料,這邊就來紀錄 Laravel 配置mongoDB的實作,而原本我的side project是練習搭建docker開發環境,故這邊會以dockerfile來設定跟紀錄踩坑問題。
Thumbnail
MySQL 應用到 URL Shortener 上
Thumbnail
MySQL 應用到 URL Shortener 上
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News