我试图在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(); });
我将此添加到名为test.js的空白JS文档中,并在运行
时添加node test.js
在我的命令行中,它返回了成功消息和数据:
现在,我知道可以建立连接,我将代码添加到我的Meteor项目中。我创建了一个基本按钮,onClick与MongoDB的连接应该完成。
但是,我收到以下控制台错误:
我从阅读各种Stack问题中了解到,这是因为未在项目目录中运行npm install mongodb
。但是,我试过这样做,终端返回:
是否有人知道为什么MongoDB无法安装并阻止我在我的应用程序中连接到MongoDB?
非常感谢任何帮助,
非常感谢,
答案 0 :(得分:1)
您正在尝试从客户端连接到Mongo实例,这可能不是您想要的。
mongodb
npm包只支持Node.js,而不支持浏览器中的JavaScript,正如您在package.json
"engines": {
"node": ">=0.10.3"
},
如果工作正常,则使用Node运行它。
您可能想要做的是将MONGO_URL
环境变量设置为Mongo Atlas实例,并将连接/更新的实现保留给Meteor本身。