Javascript Meteor-未捕获错误:找不到模块“mongodb”
我正在尝试在Meteor应用程序和MongoDB Atlas数据库之间建立连接 我有以下JavaScript代码: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;
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"
},