我想用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