流动的代码成功将mongoose与localhost和Heroku上的mlab数据库连接。但是在Namecheap Node 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: "[email protected]" });
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共享主机上的数据库连接的方式是什么?
最佳答案
问题已解决。
问题是Namecheap。 Namecheap阻止了端口13645上的传出请求。与他们联系后,他们在端口13645上打开了传出请求。
关于node.js - Mongoose 未在Namecheap共享托管 Node js应用程序上与数据库建立连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56077413/