我是 Node.js、MongoDB 和 MongoJS 的新手。
我有app.js
哪个是我从命令行运行的服务器node app.js
。在具有 OS X 10.9.1 和 Node.js v0.10.28 的本地计算机上。
在app.js
我有(作为片段)
var db = require('./database');
var blog = require('./classes/blog');
并且database.js
有
var db = require("mongojs");
db.connect('mydb', ["Users", "Posts"]);
并且/classes/blog.js
有
function load(OnDone) {
if (db.connected) {
OnDone();
}
}
当我打电话时,blog.load()
我得到
ReferenceError: db is not defined
at Object.load (node/classes/blog.js:13:6)
at node/app.js:36:7
at Server.onRequest (node/server.js:35:12)
at Server.EventEmitter.emit (events.js:98:17)
at HTTPParser.parser.onIncoming (http.js:2108:12)
at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:121:23)
at Socket.socket.ondata (http.js:1966:22)
at TCP.onread (net.js:527:27)
我的应用程序中的所有内容都按预期工作,除非我尝试调用我的load()
函数,该函数使用db
我认为我在app.js
.
为什么会db
是未定义的?我使用模块错了吗?
注意:如果您不知道,我从脚本中提取了这些代码行,因为到目前为止,我的应用程序对于 SO 问题来说相对较长,除非需要,否则我不想全部显示。