#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. Извините, я только что понял, что у меня там полная остановка. Какая глупая ошибка, спасибо за помощь.