流动的代码成功将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/

10-11 01:28