Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Meteor-未捕获错误:找不到模块“mongodb”_Javascript_Mongodb_Meteor - Fatal编程技术网

Javascript Meteor-未捕获错误:找不到模块“mongodb”

Javascript Meteor-未捕获错误:找不到模块“mongodb”,javascript,mongodb,meteor,Javascript,Mongodb,Meteor,我正在尝试在Meteor应用程序和MongoDB Atlas数据库之间建立连接 我有以下JavaScript代码: var MongoClient = require('mongodb').MongoClient, format = require('util').format; MongoClient.connect('<MyMongoURL>', function (err, db) { if (err) { throw err;

我正在尝试在Meteor应用程序和MongoDB Atlas数据库之间建立连接

我有以下JavaScript代码:

  var MongoClient = require('mongodb').MongoClient, format = require('util').format;                  
MongoClient.connect('<MyMongoURL>', function (err, db) {
if (err) {
    throw err;
} else {
    console.log("successfully connected to the database");

    db.collection('largeTreeMap', function(err, docs) {
    // Check for error
    if(err) return console.log(err);
    // Walk through the cursor
    docs.find().each(function(err, doc) {
        // Check for error
        if(err) return console.err;
        // Log document
        console.log(doc);
    })
});

}
db.close();      });
在我的命令行中,它返回了成功消息和数据:

现在我知道可以建立连接了,我把代码添加到我的Meteor项目中。我创建了一个基本按钮,点击一次,MongoDB的连接应该完成了

但是,我收到以下控制台错误:

通过阅读各种堆栈问题,我了解到这是由于没有在项目目录中运行npm install mongodb造成的。但是,我尝试过这样做,终端返回:

有人知道为什么MongoDB无法安装并阻止我在应用程序中连接MongoDB吗

任何帮助都将不胜感激

非常感谢,


G

您试图从客户端连接到Mongo实例,这可能不是您想要的

npm包只支持Node.js,而不支持浏览器中的JavaScript,正如您在其

在这种情况下,您可以使用Node运行它


您可能想做的是将环境变量设置为Mongo Atlas实例,并将连接/更新的实现留给Meteor本身。

Meteor在内部使用自己的mongodb版本。可能是这导致了问题。谢谢你的回答-你知道在settings.json文件中设置MONGO_URL是否足以连接吗?不,它们是不同的东西-你在settings.json中设置的设置是通过Meteor.settings访问的,这与环境变量不同,通过process.env访问。使用browserify在浏览器中运行Puppeter时,我遇到了同样的问题,如果有人知道如何解决这个问题,请提供帮助。@coder420我不了解您的确切用例,但在客户端上运行Puppeter似乎是一个错误,或者至少是一个糟糕的设计。Puppeter通常在服务器上运行,即使该服务器是您的本地开发机器。从另一个角度考虑——让最终用户下载数百MB的各种浏览器进行测试将是一种糟糕的用户体验。
node test.js
"engines": {
  "node": ">=0.10.3"
},