我的应用程序是使用Mongoose为数据库编写的React和Express。我在谷歌计算引擎上部署了一个bitnam mongoDB实例。现在我尝试在App引擎上部署服务器。当我在本地运行我的应用程序时,它可以很好地连接到数据库(我可以添加内容并查看它)。但是,当我在谷歌云外壳中进行npm启动时会收到此错误:
'failed to connect to server [35.196.182.249:27017] on first connect [MongoError: connection 0 to 35.196.182.249:27017 timed out]' }
(node:1310) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): MongoError: failed to connect to server [35.196.182.249:27017] on first connect [MongoError: connection 0 to 35.196.182.249:27017 timed out]
这是我的连接代码:
mongoose.connect(process.env.MONGODB_URI,{
useMongoClient: true
}).catch(function(err){
console.log(err)
});
其中MONGODB_URI=mongodb://root:password@XX.XXX.XXX.XXX:27017
,
password
是我从计算引擎获得的密码,XX.XXX.XXX.XXX
是计算引擎提供的外部IP。
在本地连接和谷歌云外壳中使用相同的URI,但它只从localhost连接。我也尝试在URI中进行硬编码,但它没有用。有什么想法吗?