我面临一个奇怪的问题。我安装了MongoDB并在EC2实例上处理项目。我试图从本地访问数据库它工作正常。但是,当我尝试执行我的AWS lambda函数时,我得到一个超时错误。因此将lambda函数超时增加到50秒。我正在运行一个简单的查询来查找10条记录的一条记录。我收到以下错误。任何人都可以帮我这个吗?
MongoNetworkError: failed to connect to server [EC2_PUBLIC_IP:PORT_NUMBER] on first connect [MongoNetworkError: connection 0 to EC2_PUBLIC_IP:PORT_NUMBER timed out]
我正在使用MONGODB-NATIVE与Nodejs。
const MongoClient = require('mongodb').MongoClient;
MongoClient.connect(DB_URL, (err, conn) => {
if(err) return console.error(err);
let db = conn.db('DB_NAME');
db.collection('COLLECTION_NAME').findOne({ value: 1232131 }, (error,results) => {
if(error) return console.error(error);
conn.close();
return console.log(results);
});
});
答案 0 :(得分:2)
我不认为这是您的代码的问题。这是一个偏离主题的问题,因为它是您的防火墙设置的问题。
在EC2安全组中,请在入站端口添加默认为27017的MongoDB端口,然后尝试访问数据库。
答案 1 :(得分:0)
仅靠第一个答案对我来说不起作用,我仍然必须移植到我的mongo副本