最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

詳解解讀Node.js模塊間共享數(shù)據(jù)庫連接的方法(圖文教程)

來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 19:48:28
文檔

詳解解讀Node.js模塊間共享數(shù)據(jù)庫連接的方法(圖文教程)

詳解解讀Node.js模塊間共享數(shù)據(jù)庫連接的方法(圖文教程):我們可以寫一個(gè)統(tǒng)一的數(shù)據(jù)庫連接模塊來供本地Node環(huán)境下各模塊間共享使用,接下來就來詳解Node.js模塊間共享數(shù)據(jù)庫連接的方法這個(gè)標(biāo)題本身就是一個(gè)命題,因?yàn)槭褂媚J(rèn)方式的情況下,一個(gè) Node.js 應(yīng)用里的各個(gè)模塊都是共享的同一個(gè)數(shù)據(jù)庫連接。但是如果姿勢(shì)不
推薦度:
導(dǎo)讀詳解解讀Node.js模塊間共享數(shù)據(jù)庫連接的方法(圖文教程):我們可以寫一個(gè)統(tǒng)一的數(shù)據(jù)庫連接模塊來供本地Node環(huán)境下各模塊間共享使用,接下來就來詳解Node.js模塊間共享數(shù)據(jù)庫連接的方法這個(gè)標(biāo)題本身就是一個(gè)命題,因?yàn)槭褂媚J(rèn)方式的情況下,一個(gè) Node.js 應(yīng)用里的各個(gè)模塊都是共享的同一個(gè)數(shù)據(jù)庫連接。但是如果姿勢(shì)不

我們可以寫一個(gè)統(tǒng)一的數(shù)據(jù)庫連接模塊來供本地Node環(huán)境下各模塊間共享使用,接下來就來詳解Node.js模塊間共享數(shù)據(jù)庫連接的方法

這個(gè)標(biāo)題本身就是一個(gè)命題,因?yàn)槭褂媚J(rèn)方式的情況下,一個(gè) Node.js 應(yīng)用里的各個(gè)模塊都是共享的同一個(gè)數(shù)據(jù)庫連接。但是如果姿勢(shì)不對(duì),可能會(huì)很丑陋,甚至可能會(huì)出錯(cuò)。

你可以忽略下面這部分,直接切入正題。

背景最近在做專業(yè)課程設(shè)計(jì),題目是“機(jī)票預(yù)訂管理系統(tǒng)”。需求比較簡(jiǎn)單,就試著拿最近在學(xué)的 Node.js 來做了。本來還在調(diào)研用何種 Node.js 框架比較合適,看了幾個(gè)框架之后發(fā)現(xiàn)這是殺雞用牛刀,有看文檔查資料的時(shí)間還不如直接動(dòng)手寫了。最后寫完我會(huì)把代碼放到 Github 上,歡迎大家批評(píng)指正。

數(shù)據(jù)庫方面,以為我比較熟悉和喜歡 JSON (SQL 沒學(xué)好就承認(rèn)唄-_-#),所以就選擇了 MongoDB。Node + Mongo 是近幾年越來越熱門的后端組合,網(wǎng)上有很多關(guān)于如何一起使用的資料。但為了節(jié)約時(shí)間(課程設(shè)計(jì)也就一個(gè)多星期),把精力多集中在系統(tǒng)和邏輯上,我用了 Mongoose 這個(gè)專門用于 MongoDB 數(shù)據(jù)建模的 Node.js 擴(kuò)展,用它來大大減少操作數(shù)據(jù)庫的代碼。

正題我建立了兩個(gè)數(shù)據(jù)模型(Model),一個(gè)是用戶(User),一個(gè)是航班(Flight),分別封裝到了 user.js, flight.js 這兩個(gè)模塊(Module)里面。Model 專門負(fù)責(zé)和數(shù)據(jù)庫交互,用戶和航班這兩個(gè)模塊都需要連接數(shù)據(jù)庫,一開始我的代碼是這樣的:

且不說這種寫法一點(diǎn)都不 DRY,這種方式本身就是錯(cuò)誤的。當(dāng)我運(yùn)行 index.js 時(shí),會(huì)出現(xiàn)如下錯(cuò)誤。

錯(cuò)誤是:嘗試打開未關(guān)閉的連接。

所以我們應(yīng)該在一個(gè)地方連接一次數(shù)據(jù)庫,然后其他需要連接數(shù)據(jù)庫的模塊通過這個(gè)模塊來和數(shù)據(jù)庫交互。就好像插線板,義無反顧地吼叫道:“墻上就一個(gè)插座,你們不要搶了!放著我來!你們。。就可以了!”

具體方案我們把連接數(shù)據(jù)庫的動(dòng)作放到一個(gè)模塊里,并且把連接暴露給整個(gè)應(yīng)用中的其他模塊,然后其他需要連接數(shù)據(jù)庫的模塊引用這個(gè)連接即可。

這就是讓一個(gè) Node.js 應(yīng)用的多個(gè)模塊共享數(shù)據(jù)庫連接的一種方法。是我在 StackOverflow 上面看到的。

上面是我整理給大家的,希望今后會(huì)對(duì)大家有幫助。

相關(guān)文章:

詳細(xì)解讀JavaScript中的幾種借用方法(圖文教程)

利用JavaScript實(shí)現(xiàn)模式匹配的String方法

javascript this詳細(xì)講解(圖文教程)

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

詳解解讀Node.js模塊間共享數(shù)據(jù)庫連接的方法(圖文教程)

詳解解讀Node.js模塊間共享數(shù)據(jù)庫連接的方法(圖文教程):我們可以寫一個(gè)統(tǒng)一的數(shù)據(jù)庫連接模塊來供本地Node環(huán)境下各模塊間共享使用,接下來就來詳解Node.js模塊間共享數(shù)據(jù)庫連接的方法這個(gè)標(biāo)題本身就是一個(gè)命題,因?yàn)槭褂媚J(rèn)方式的情況下,一個(gè) Node.js 應(yīng)用里的各個(gè)模塊都是共享的同一個(gè)數(shù)據(jù)庫連接。但是如果姿勢(shì)不
推薦度:
標(biāo)簽: 教程 模塊 詳解
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top