近年來,隨著網路技術的不斷發展,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
以上依賴分別是:
- express:一個Node.js 的web 框架,用於簡化web 應用的開發過程;
- body-parser:用於解析請求體的中間件;
- mongoose:用於操作MongoDB 的函式庫。
三、實作增、刪、改、查操作
- 連接MongoDB 資料庫
在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中文網其他相關文章!

useState()isaReacthookusedtomanagestateinfunctionalcomponents.1)Itinitializesandupdatesstate,2)shouldbecalledatthetoplevelofcomponents,3)canleadto'stalestate'ifnotusedcorrectly,and4)performancecanbeoptimizedusinguseCallbackandproperstateupdates.

ReactispupularduetoItsOmpontement,基於虛擬,虛擬詞,Richecosystem和declarativedation.1)基於組件的harchitectureallowslowsforreusableuipieces。

todebugreactapplicationsefectefectionfection,usethestertate:1)proppropdrillingwithcontextapiorredux.2)使用babortControllerToptopRollerTopRollerTopRollerTopRollerTopRollerTopRollerTopRollerTopRollerTopRollerTopRaceeDitions.3)intleleassynChronOusOperations.3)

usestate()inrectallowsStateMagementionInfunctionalComponents.1)ITSIMPLIFIESSTATEMAGEMENT,MACHECODEMORECONCONCISE.2)usetheprevcountfunctionToupdateStateBasedonitspReviousViousViousvalue,deveingingStaleStateissues.3)

selectUsestate()forsimple,獨立的variables; useusereducer()forcomplexstateLogicorWhenStatedIppedsonPreviousState.1)usestate()isidealForsImpleupDatesLikeToggGlikGlingaBglingAboolAboolAupDatingacount.2

useState優於類組件和其它狀態管理方案,因為它簡化了狀態管理,使代碼更清晰、更易讀,並與React的聲明性本質一致。 1)useState允許在函數組件中直接聲明狀態變量,2)它通過鉤子機制在重新渲染間記住狀態,3)使用useState可以利用React的優化如備忘錄化,提升性能,4)但需注意只能在組件頂層或自定義鉤子中調用,避免在循環、條件或嵌套函數中使用。

useUsestate()forlocalComponentStateMangementighatighation; 1)usestate()isidealforsimple,localforsimple.2)useglobalstate.2)useglobalstateSolutionsLikErcontExtforsharedState.3)

ReusableComponentsInrectenHanceCodainainability and效率byallowingDevelostEsteSeTheseTheseThesAmeCompOntionActActRossDifferentPartSofanApplicationorprojects.1)heSredunceRedUndenceNandSimplifyUpdates.2)yensureconsistencyInuserexperience.3)


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3 Linux新版
SublimeText3 Linux最新版

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。