javascript - 为什么我收到错误:在我的节点服务器中连接 ECONNREFUSED?
问题描述
我有一个非常简单的服务器,它运行良好,一旦我尝试添加一些导入它就停止工作(vue-axios)。我删除了导入,但我不断收到相同的错误,不允许应用程序连接到服务器。
我的文件是:
paciente.js(这是我的 mongodb 架构):
const {Router} = require("express");
const Paciente = require("../modelos/paciente");
const router = Router();
router.get("/", async (req, res) =>{
try {
const Pacientes = await Paciente.find();
if (!Pacientes) throw new Error("no hay Pacientes")
res.status(200).json(Pacientes);
} catch (error) {
res.status(500).json({message: error.message})
}
})
router.post("/predict/:id", async (req, res) =>{
const {id} = req.params;
let pacienteU = await Paciente.findById(id);
console.log(pacienteU.examen);
var data = JSON.stringify({
"Values": [
[
pacienteU.examen[0],
pacienteU.examen[1],
pacienteU.examen[2],
pacienteU.examen[3],
pacienteU.examen[4]
]
]
});
var config = {
method: 'post',
url: 'https://apibc1.herokuapp.com/predict',
headers: {
'Content-Type': 'application/json'
},
data : data
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
})
router.post("/", async (req, res) =>{
const nuevoPaciente = new Paciente(req.body)
try {
const paciente = await nuevoPaciente.save();
if(!paciente) throw new Error("Hay un error al crear un Paciente");
res.status(200).json(paciente);
} catch (error) {
res.status(500).json({message : error.message})
}
})
router.put("/:id", async (req, res) => {
const {id} = req.params;
try {
const respuesta = await Paciente.findByIdAndUpdate(id, req.body);
if(!respuesta) throw new Error("Hay un error al actualizar el Paciente");
const actualizado = { ...respuesta._doc, ...req.body}
res.status(200).json(actualizado);
} catch (error) {
res.status(500).json({message: error.message})
}
})
router.delete("/:id", async (req, res) => {
const {id} = req.params;
try {
const eliminado = await Paciente.findByIdAndDelete(id);
if(!eliminado) throw new Error("Hay un error al eliminar el Paciente");
res.status(200).json(eliminado)
} catch (error) {
res.status(500).json({message: error.message})
}
})
module.exports = router;
paciente.js(这是我的路由文件):
const {Router} = require("express");
const Paciente = require("../modelos/paciente");
const router = Router();
router.get("/", async (req, res) =>{
try {
const Pacientes = await Paciente.find();
if (!Pacientes) throw new Error("no hay Pacientes")
res.status(200).json(Pacientes);
} catch (error) {
res.status(500).json({message: error.message})
}
})
router.post("/predict/:id", async (req, res) =>{
const {id} = req.params;
let pacienteU = await Paciente.findById(id);
console.log(pacienteU.examen);
var data = JSON.stringify({
"Values": [
[
pacienteU.examen[0],
pacienteU.examen[1],
pacienteU.examen[2],
pacienteU.examen[3],
pacienteU.examen[4]
]
]
});
var config = {
method: 'post',
url: 'https://apibc1.herokuapp.com/predict',
headers: {
'Content-Type': 'application/json'
},
data : data
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
})
router.post("/", async (req, res) =>{
const nuevoPaciente = new Paciente(req.body)
try {
const paciente = await nuevoPaciente.save();
if(!paciente) throw new Error("Hay un error al crear un Paciente");
res.status(200).json(paciente);
} catch (error) {
res.status(500).json({message : error.message})
}
})
router.put("/:id", async (req, res) => {
const {id} = req.params;
try {
const respuesta = await Paciente.findByIdAndUpdate(id, req.body);
if(!respuesta) throw new Error("Hay un error al actualizar el Paciente");
const actualizado = { ...respuesta._doc, ...req.body}
res.status(200).json(actualizado);
} catch (error) {
res.status(500).json({message: error.message})
}
})
router.delete("/:id", async (req, res) => {
const {id} = req.params;
try {
const eliminado = await Paciente.findByIdAndDelete(id);
if(!eliminado) throw new Error("Hay un error al eliminar el Paciente");
res.status(200).json(eliminado)
} catch (error) {
res.status(500).json({message: error.message})
}
})
module.exports = router;
最后,这是我的 server.js 文件:
const express = require("express");
const mongoose = require("mongoose");
const app = express()
const port = process.env.PORT || 3000;
const options = {useNewUrlParser: true, useUnifiedTopology: true};
const mongoURI = "mongodb+srv://usuario_admin:heregoesmypassword@mintic.umyfk.mongodb.net/myFirstDatabase?retryWrites=true&w=majority"
const cors = require("cors");
const morgan = require("morgan");
const bodyParser = require("body-parser");
const rutasUsuario = require("./routes/usuario");
const rutasPaciente = require("./routes/paciente");
const axios = require("axios");
app.use(axios);
app.use(cors())
app.use(morgan("tiny"));
app.use(bodyParser.json());
app.get("/", (req, res) => res.send("Hola"));
mongoose.connect(mongoURI, options).then(() => console.log("Conectado a MongoDB"))
.catch((err) => console.log(err));
app.use("/api/users", rutasUsuario);
app.use("/api/pacientes", rutasPaciente)
app.listen(port, () => console.log(`Escuchando en http://localhost:${port}`))
我很确定我正在连接到数据库,因为我在运行服务器时收到“Conectado a MongoDB”消息。对于我在互联网上发现的情况,发生此错误是因为该应用程序试图连接到一个不正确的端口。但是,由于我在运行服务器时实际上是 console.log() 端口,所以端口 3000 应该是工作的端口。我不知道错误在哪里。
解决方案
推荐阅读
- r - 如何在使用 removeUI 删除元素后清理“输入”
- python - 如果有来自另一个列表的项目,则在 python 中附加列表
- php - 在 Woocommerce 中将销售价格替换为常规价格
- rxjs - 添加到之前的结果,Observable 管道只运行一次
- macos - IntelliJ 在 scala 中显示简单应用程序的错误突出显示
- c# - 使用 foreach 和 @Html.DropDownListFor 我的 ID 都是一样的
- math - 逐个向量旋转
- ios - 观察多个 controlEvent 导致“检测到重入异常。”警告消息
- wordpress - 隐身模式下的 Nginx 502 错误
- python - 将字符串转换为列表并删除回车符(Python)