Мангуст, MongoDB/Атлас, Экспресс 404 Не найден

#node.js #mongodb #express #mongoose

Вопрос:

Я новичок в MongoDB, и я уже некоторое время устраняю эту проблему, и я просто не могу в этом разобраться. Каждое руководство, которому я следую, приводит к 404, и я не уверен, что делаю неправильно.

Вот моя структура файлов:

 -models
    image-upload.js
-routes
    recogImages.js
server.js
 

image-upload.js

 const mongoose = require("mongoose");

const imageUploadSchema = new mongoose.Schema({
name: {
  type: String,
  required: true,
 },
image: {
  type: String,
  required: true,
 },
uploadDate: {
  type: Date,
  default: Date.now,
 },
});

module.exports = mongoose.model("ImageUpload", imageUploadSchema);
 

recogImages.js

 const express = require("express");
const router = express.Router();
const ImageUpload = require("../models/image-upload");

//Getting all records

router.get("/", (req, res) => {
   try {
   const recogImages = ImageUpload.find();
     res.json(recogImages);
   } catch (err) {
     res.status(500).json({ message: err.message });
   }
});

module.exports = router;
 

server.js

 require("dotenv").config();

const express = require("express");
const mongoose = require("mongoose");
const recogImageRouter = require("./routes/recogImages");

const app = express();

const port = 3000;

app.use(express.json());

mongoose.connect(process.env.DATABASE_URI, {
  useNewUrlParser: true,
  useUnifiedTopology: true,
});
const db = mongoose.connection;
// db.on("error", (error) => console.log(error));
db.on("error", console.error.bind(console, "MongoDB connection error"));
db.once("open", () => console.log("Connected to Database"));

app.use("./recog-images", recogImageRouter);
app.listen(port, () => console.log("server started on port: "   port));

 

Независимо от того, запускаю ли я MongoDB локально или использую Atlas, я получаю соединение с базой данных, но при запросе GET http://localhost:3000/recog-images/ я получаю 404 Не найдено, Не удается ПОЛУЧИТЬ /recog-изображения/.

Ответ №1:

Попробуйте изменить эту строку:

 app.use("./recog-images", recogImageRouter);
 

Для:

 app.use("/vbox-recog", recogImageRouter);
 

Комментарии:

1. Извините, что с моей стороны была опечатка, запрос на ПОЛУЧЕНИЕ- localhost:3000/recog-изображения , так что все должно быть в порядке. Я пытался изменить его ради того, чтобы попытаться, но ничего не меняется.

2. Извините, я только что понял, что у меня там полная остановка. Какая глупая ошибка, спасибо за помощь.