Javascript 如何将express.js与本机mongoDB驱动程序一起使用
我在尝试从我的express应用程序中执行简单的mongoDB查询时遇到了困难: app.js routes/index.js 我是否正确理解exports.index参数是一个数据库实例?如果是这样,为什么我不能执行Javascript 如何将express.js与本机mongoDB驱动程序一起使用,javascript,mongodb,express,Javascript,Mongodb,Express,我在尝试从我的express应用程序中执行简单的mongoDB查询时遇到了困难: app.js routes/index.js 我是否正确理解exports.index参数是一个数据库实例?如果是这样,为什么我不能执行db.getCollectionNames() 如何处理路由中的数据库实例?node.js是异步的。这意味着db和dbInstance在Mongoclient.connect()函数调用之后不存在,而在回调中不存在。因此,您的代码必须如下所示: MongoClient.connec
db.getCollectionNames()
如何处理路由中的数据库实例?node.js是异步的。这意味着
db
和dbInstance
在Mongoclient.connect()函数调用之后不存在,而在回调中不存在。因此,您的代码必须如下所示:
MongoClient.connect(mongourl, function(err, db) {
...
app.get( '/', routes.index( db ) );
...
});
这会被视为最佳实践吗?如果没有,是否有一种方法可以实现这一点,而不必将连接中的几乎所有内容都打包?
exports.index = function(db){
return function(req,res){
}
};
MongoClient.connect(mongourl, function(err, db) {
...
app.get( '/', routes.index( db ) );
...
});