Я пытался прочитать другие статьи с той же или подобной проблемой, но я все еще не могу понять, что не так. Я получаю сообщение об ошибке:
'Невозможно перезаписать User
модель после компиляции.'
Кто-нибудь знает, в чем заключается проблема или как ее решить?
сервер. js
const express = require("express");
const cors = require("cors");
const mongoose = require("mongoose");
const app = express();
const port = process.env.PORT || 5000;
app.use(cors());
app.use(express.json());
require("dotenv").config();
const uri = process.env.ATLAS_URI;
mongoose.connect(uri, { useNewUrlParser: true, useCreateIndex: true });
const connection = mongoose.connection;
connection.once("open", () => {
console.log("MongoDB connection established successfully");
});
const userrecipesRouter = require("./routes/userrecipes");
const usersRouter = require("./routes/users");
app.use("/userrecipes", userrecipesRouter);
app.use("/users", usersRouter);
app.listen(port, () => {
console.log(`Server is running on port ${port}`);
});
модели / user.model. js
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const userSchema = new Schema(
{
username: {
type: String,
required: true,
unique: true,
trim: true,
minlength: 3
}
},
{
timestamp: true
}
);
const User = mongoose.model("User", userSchema);
module.exports = User;
маршруты / пользователи. js
const router = require("express").Router();
let User = require("../models/user.model");
router.route("/").get((req, res) => {
User.find()
.then(users => res.json(users))
.catch(err => res.status(400).json("Error: " + err));
});
router.route("/add").post((req, res) => {
const username = req.body.username;
const newUser = new User({ username });
newUser
.save()
.then(() => res.json("User added!"))
.catch(err => res.status(400).json("Error: " + err));
});
module.exports = router;