iT邦幫忙

DAY 15
0

Node.js 學習筆記系列 第 15

Node.js學習筆記十四:使用Monk來連結MongoDB

  • 分享至 

  • xImage
  •  

對MongoDB的操作我們已經有一定程度的瞭解,接下來我們就要把MongoDB的資料顯示到網頁上。

為了讓Node.js能夠連結MongoDB,我們要在package.json裡加入一些模組。打開package.json,請在"dependencies"段的結尾加入:

"mongodb": "*",
"monk": "*"

以下是package.json的完整程式:

{
  "name": "testproject",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "nodemon ./bin/www"
  },
  "dependencies": {
    "express": "~4.8.6",
    "body-parser": "~1.6.6",
    "cookie-parser": "~1.3.2",
    "morgan": "~1.2.3",
    "serve-favicon": "~2.0.1",
    "debug": "~1.0.4",
    "hjs": "~0.0.6",
    "less-middleware": "1.0.x",
    "mongodb": "*",
    "monk": "*"
  }
}

接著在這個目錄打開命令視窗,執行以下指令:

npm install

這樣新的模組就安裝成功了。我們一共新增了兩個模組,第一個是"mongodb",使node.js可以使用MongoDB;第二個"monk"是用來連結MongoDB的,它的好處是簡單易用,適合新手。跟"monk"類似的模組有"mongoose","mongoose"比"monk"更強,更複雑,等到你對MongoDB的瞭解更深時,或許便會用到"mongoose",現在的話"monk"已經夠用。

模組安裝成功後,要讓我們的專案使用,打開"app.js",在第一部分的"var"段結尾加入:

// Connect to MongoDB
var mongo = require('mongodb');
var monk = require('monk');
var db = monk('localhost:27017/testproject');

這裡的意思是我們用"monk"來連結MongoDB,伺服器位置是"localhost",port是"27017"(MongoDB預設),資料庫名稱為"testproject"。

接下來我們要讓路由程式"router"可以使用資料庫,在app.js裡找到:

app.use('/', routes);
app.use('/users', users);

在這兩行前面加入:

// Allow router to access db
app.use(function(req,res,next){
    req.db = db;
    next();
});

這段程式的意思將我們剛剛用"monk"連結的"db"賦值給"req.db",這樣在"router"裡面也能通過"req.db"來操作資料庫。

至此Node.js與MongoDB的連結就搭好了。

[image credit: VINCENT]

(本文同步發表於: NodeJust.com )


上一篇
Node.js學習筆記十三:MongoDB的操作-使用變數
下一篇
Node.js學習筆記十五:使用Monk讀取MongoDB資料
系列文
Node.js 學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言