![](/img/trans.png)
[英]How save and query in binary data like images in mongodb with mongoose.js driver and express.js?
[英]How to use express.js with native mongoDB driver
我在尝试通过Express应用程序执行简单的mongoDB查询时遇到了困难:
var express = require('express');
var routes = require('./routes');
var user = require('./routes/user');
var http = require('http');
var path = require('path');
var mongourl = ''; // omitted on SO
var MongoClient = require('mongodb').MongoClient;
var dbInstance;
MongoClient.connect(mongourl, function(err, db) {
db.on('open',function(){
dbInstance = db;
})
});
app.get('/', routes.index(dbInstance));
http.createServer(app).listen(app.get('port'), function(){
});
exports.index = function(db){
return function(req,res){
}
};
我是否正确理解Exports.index的参数是数据库实例? 如果是这样,为什么我不能做db.getCollectionNames()
?
我将如何使用路由中的数据库实例?
node.js是异步的。 这意味着在Mongoclient.connect()
函数调用之后 db
和dbInstance
都不存在,而是在 callback
。 因此您的代码必须看起来像:
MongoClient.connect(mongourl, function(err, db) {
...
app.get( '/', routes.index( db ) );
...
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.