2015-10-15 48 views
0

我能够在我的系统中运行以下代码,但在重新启动后,它显示Mongo未定义。 我将整个node_modules文件夹复制到新文件夹中,但没有任何帮助,可能是它在缓存中,现在它丢失了,因为我也清理了缓存。Mongo库()in nodejs

mongo = new Mongo("localhost"); 
keywordsDb = mongo.getDB("database"); 
keywordsColl = keywordsDb.getCollection("keywords"); 

日志低于:

(function (exports, require, module, __filename, __dirname) { mongo = new Mongo(
"localhost"); 
                     ^

ReferenceError: Mongo is not defined 
    at Object.<anonymous> (D:\js\restful\query.js:1:75) 
    at Module._compile (module.js:434:26) 
    at Object.Module._extensions..js (module.js:452:10) 
    at Module.load (module.js:355:32) 
    at Function.Module._load (module.js:310:12) 
    at Function.Module.runMain (module.js:475:10) 
    at startup (node.js:118:18) 
    at node.js:952:3 

回答

2

尝试将当前目录切换到应用程序的根目录并运行以下命令“故宫安装”,并检查是否有错误消息。

此外,你应该使用这个语法来连接你的Node.js应用的MongoDB:

var MongoClient = require('mongodb').MongoClient; 
var keywordsDb; 
var keywordsColl; 

MongoClient.connect('mongodb://localhost:27017/database', function(err, database) { 
    if (err) throw err; 
    keywordsDb = database; 
    keywordsColl = keywordsDb.getCollection("keywords"); 
}); 
+0

我做到了,但问题是我没有的package.json提到我的依赖,当我正在研究它尝试了太多的东西,我不记得我是如何运行的。我刚刚开始使用MongoDb和node.js,昨天我甚至没有任何关于package.json的想法 –

+0

在node_modules目录中,检查在其中找到的子目录的名称。它是你已经安装的软件包的名称。 试着用“npm packagename --save”重新安装软件包,它会更新你的package.json文件 –

+0

谢谢它现在可以工作。 –