正在执行的代码成功将猫鼬与localhost和Heroku上的mlab数据库连接。但这不适用于Namecheap节点js服务器。
const express = require("express");
const mongoose = require("mongoose");
const port = parseInt(process.env.PORT, 10) || 3000;
const server = express();
mongoose.connect("mongodb://@ds213645.mlab.com:13645/techblog", {
useNewUrlParser: true,
auth: {
user: "user",
password: "pass"
}
});
const Schema = mongoose.Schema;
const userSchema = new Schema(
{
name: String,
email: String
},
{ timestamps: true }
);
const User = mongoose.model("User", userSchema);
server.get("/test", async (req, res) => {
const user = new User({ name: "SomeName", email: "your@email.com" });
const userData = await user.save();
res.send(userData);
});
server.get("/", async (req, res) => {
res.send("working");
});
server.listen(port, err => {
if (err) throw err;
console.log(`> Ready on ${port}`);
});
当我点击root('/')路由时,它在Namecheap服务器上运行良好,但是当我点击test('test')路由时,它在很长一段时间后响应“未收到来自应用程序的响应”。那么,将Mongoose与Namecheap共享主机上的数据库连接的方式是什么?
答案 0 :(得分:0)
问题解决了。 问题是Namecheap。 Namecheap阻止了端口13645上的传出请求。与他们联系后,他们在端口13645上打开了传出请求
答案 1 :(得分:0)
联系namecheap支持并要求他们打开下面的端口
端口: 27017 3000 443和 80
答案 2 :(得分:-1)
首先在本地或MLAB中使用,如果MLAB也尝试相同的 mongoose.connect(MONGO_URI); 猫鼬连接
如果在本地使用过MongoDB,请尝试从以下位置运行mongo服务器 C:\ Program Files \ MongoDB \ Server \ 4.0 \ bin并运行mongo,然后再运行Mongod,然后尝试运行项目enter image description here “ //”名称用户和密码 :MustName_user:password //@ds213645.mlab.com:13645/techblog“,{