對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 )