node.js / mongodb文件结构
我试图设置这个简单的NodeJS / mongodb应用程序,我有我的文件结构是这样的:
server.js | +-routes/menu.js +-routes/cases.js
在我的server.js中,我声明了如下所示的mongodbvariables:
var express = require('express'), mongo = require('mongodb'), Server = mongo.Server, MongoClient = mongo.MongoClient, Db = mongo.Db, http = require('http'), app = express(), httpServer = http.createServer(app), bodyParser = require('body-parser'), server = new Server('host.mongohq.com', 10066, {auto_reconnect : true}), db = new Db('myDb', server); db.open(function(err, client) { client.authenticate('myUser', 'myPassword', function(err, success) { console.log('Authenticated'); }); }); var cases = require('./routes/cases'), menu = require('./routes/menu');
但是当我尝试引用我的数据库var在例如menu.js是这样的:
db.collection(myCollection, function(err, collection) {});
我得到一个错误,数据库没有定义。
很明显,我可以把所有的mongodb声明都移到我的menu.js和cases.js文件中,但是这非常优雅。 那么如何创build一个mongodb实例var并从我包含的文件中引用它呢?
提前致谢…
你需要在你的menu.js
文件中需要server.js
。
你的db
对象不是全局的。 如果你想要它,没有var
声明。