繁体   English   中英

MongoJS Node.js模块:“ db未定义”

[英]MongoJS Node.js modules:“db is not undefined”

我是Node.js,MongoDB和MongoJS的新手。

我有app.js ,这是我从命令行使用node app.js运行的服务器。 在具有Node.js v0.10.28的OS X 10.9.1的本地计算机上。

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)

应用程序中的所有内容均按预期工作,但当我尝试调用使用我以为在app.js声明的db var的load()函数时除外

为什么db是未定义的? 我使用的模块错了吗?

注意:如果您不知道,我从脚本中提取了这些代码行,因为到目前为止我的应用程序对SO问题的需求相对较长,除非希望,否则我不希望全部显示。

我相信其中包含Node.js模块,因此无法访问其父级中定义的变量(如我假设的那样)。

我将db移到了全局名称空间(我删除了var ),并且现在可以正常工作了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM