我想用mongodb數據庫構建一個簡單的快速應用程序。下面是一些代碼行,我有點困惑:node express app.use case和mongo databases
var mongo = require('mongodb');
var monk = require('monk');
var db = monk('localhost:27017/nodetest1');
// Make our db accessible to our router
app.use(function(req,res,next){
req.db = db;
next();
});
app.use('/', routes);
app.use('/users', users);
所以我使用的和尚是在本地主機上運行我的數據庫進行通信:27017。我明白了。
app.use正在做什麼?我讀了這個解釋:
當我們將Mongo和Monk添加到app.js時,我們已經定義了「db」。這是我們的Monk連接對象的 。通過將此函數添加到app.use,我們將 添加到我們的應用程序所做的每個HTTP請求(即:「req」)中。 注意:這可能是次優的性能,但同樣,我們 這裏快速n-dirty。
這是什麼意思?我可以做些什麼http請求?
這似乎讓我做這樣的事情在一個路線文件:
router.get('/userlist', function(req, res) {
var db = req.db;
var collection = db.get('usercollection');
collection.find({},{},function(e,docs){
res.render('userlist', {
"userlist" : docs
});
});
});
所以我想,當我的路由器發出GET請求/用戶列表...我有訪問請求和響應變量。該請求變量有一個數據庫連接到它?請求和響應變量是什麼?
-Jeff