近年來,隨著網路技術的不斷發展,web 應用需求也日益增長,開發人員為了實現各種複雜的操作和交互,需要依賴各種框架和平台。而 Node.js 的出現,讓 web 應用開發更方便、更有效率,應用範圍也越來越廣泛。本文將介紹如何利用 Node.js 實作增、刪、改、查操作,並示範一個簡單的範例。
一、安裝環境
在開始進行開發前,需要先安裝 Node.js,推薦從官網 https://nodejs.org/en/ 下載最新版本。安裝成功後,可在命令列中輸入以下命令來檢查是否安裝成功:
node -v
如果顯示出 Node.js 的版本訊息,則表示安裝成功。
二、建立專案
在任意目錄下建立新的資料夾,並進入該資料夾。可以使用下列指令建立和進入專案目錄:
mkdir project cd project
#在專案目錄下執行下列指令:
npm init -y
此指令將會建立一個package.json 文件,其中包含專案資訊和依賴關係。
執行下列指令安裝需要用到的依賴:
npm install express body-parser mongoose --save
以上依賴分別是:
三、實作增、刪、改、查操作
在app.js 檔案中加入以下程式碼,實作連接MongoDB 資料庫:
const mongoose = require('mongoose'); mongoose.connect('mongodb://localhost:27017/nodejs_demo', { useNewUrlParser: true, useUnifiedTopology: true }); const db = mongoose.connection; db.on('error', console.error.bind(console, 'connection error:')); db.once('open', function() { console.log('Database connected!'); });
程式碼中,首先透過mongoose.connect() 方法連接到本地的mongodb 資料庫,然後監聽資料庫連線的狀態,如果連線成功,則列印出"Database connected!"的訊息。
在models 資料夾下建立一個新的檔案user.js,用於定義使用者資料模型,程式碼如下:
const mongoose = require('mongoose'); const schema = new mongoose.Schema({ name: String, age: Number, gender: String }); module.exports = mongoose.model('User', schema);
程式碼中,定義了一個名為User 的資料模型,包含三個屬性:name、age、gender,分別表示使用者的姓名、年齡和性別。
在app.js 檔案中加入以下程式碼,實作增加使用者的操作:
const express = require('express'); const bodyParser = require('body-parser'); const User = require('./models/user'); const app = express(); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.post('/users', async (req, res) => { const user = new User({ name: req.body.name, age: req.body.age, gender: req.body.gender }); await user.save(); res.send(user); }); app.listen(3000, () => { console.log('Server is running on port 3000'); });
程式碼中,使用app. post() 方法監聽'/users' 的POST 請求,將請求體的參數轉換產生一個新的User 對象,並儲存到資料庫中,最後回應請求。
在app.js 檔案中加入以下程式碼,實作刪除使用者的動作:
app.delete('/users/:id', async (req, res) => { const result = await User.deleteOne({ _id: req.params.id }); res.send(result); });
程式碼中,使用app. delete() 方法監聽'/users/:id' 的刪除請求,透過用戶的ID 找到需要刪除的用戶,然後呼叫User.deleteOne() 方法從資料庫中刪除用戶,並回應請求。
在app.js 檔案中加入以下程式碼,實作修改使用者的動作:
app.put('/users/:id', async (req, res) => { const result = await User.updateOne({ _id: req.params.id }, { name: req.body.name, age: req.body.age, gender: req.body.gender }); res.send(result); });
程式碼中,使用app. put() 方法監聽'/users/:id' 的修改請求,透過用戶的ID 找到需要修改的用戶,然後呼叫User.updateOne() 方法更新用戶數據,並回應請求。
在app.js 檔案中加入以下程式碼,實作查詢使用者的動作:
app.get('/users', async (req, res) => { const users = await User.find().exec(); res.send(users); });
程式碼中,使用app. get() 方法監聽'/users' 的查詢請求,透過User.find() 方法在資料庫中尋找所有的用戶,並回應請求。
四、測試
執行以下指令啟動服務:
node app.js
在Postman 中測試以上功能:
發送POST 要求到http://localhost:3000/users,請求體如下:
{ "name": "Tom", "age": 25, "gender": "male" }
{ "name": "Jerry", "age": 30, "gender": "female" }
以上是如何利用nodejs實現增刪改查的詳細內容。更多資訊請關注PHP中文網其他相關文章!