Node.js Heroku上的API服务器&;廉价的
我有一个简单的应用程序,api服务器。 我在Heroku上安装了这个应用程序,一切正常。 但同一个应用程序在namescape主机上不起作用 例如,当我向“.com/api/posts”发送GET请求时,它不返回任何内容,请求将无限期运行。该端点应该从mongodb返回数组。 我认为这取决于应用程序,但我认为可能取决于mongodb连接,所以我修改了“…com/api/posts”,并将其设置为返回一个简单的消息/帖子数组,而不连接mongodbNode.js Heroku上的API服务器&;廉价的,node.js,mongodb,api,heroku,namecheap,Node.js,Mongodb,Api,Heroku,Namecheap,我有一个简单的应用程序,api服务器。 我在Heroku上安装了这个应用程序,一切正常。 但同一个应用程序在namescape主机上不起作用 例如,当我向“.com/api/posts”发送GET请求时,它不返回任何内容,请求将无限期运行。该端点应该从mongodb返回数组。 我认为这取决于应用程序,但我认为可能取决于mongodb连接,所以我修改了“…com/api/posts”,并将其设置为返回一个简单的消息/帖子数组,而不连接mongodb res.status(200).json({
res.status(200).json({
posts: [{
title: 'First Test',
content: 'This is the first Test'
}]
});
在这种情况下,它工作,并返回带有一个post的答案/数组
因此,我确信这取决于连接mongodb数据库
但是我不明白为什么相同的代码可以在本地主机和Heroku上运行,而在廉价主机(付费主机)上则不行。谁托管您的MongoDB数据库?您如何连接到它?您的意思是,谁托管?连接到数据库mongoose.connect(“mongodb+srv://ckomi:“+process.env.MONGO_ATLAS_PW+”@cluster0 efywk.mongodb.net/mean newsecond“,{useNewUrlParser:true,useUnifiedTopology:true,useCreateIndex:true}),然后((res)=>{console.log('Connected to database'))}.catch((err)=>{console.log('Connection failed',err})好的,那么你在?有一个托管MongoDB实例?我敢打赌它有一个允许连接到它的IP地址的白名单。很抱歉,我没有立即回答,我两天都没有回答。起初我以为问题是IP,但不是,我记得设置了IP(0.0.0.0/0)回到项目的开始,就像我说的,Heroku上也有同样的代码,而且很有效。