**App.js Code** const express = require("express"); const { default: mongoose } = require("mongoose"); const gaming = require("./routes/gaming"); const app = express(); app.use(express.json()); app.use("/", gaming); const dbConnect = mongoose.connect("mongodb://localhost:27017/Gaming"); const mySchema = new mongoose.Schema({ name: String, genre: String, games: String, }) const User = mongoose.model('gaming', mySchema); app.listen(8000, ()=>{ console.log("listing at port 8000"); }) ***Routes Folder Code*** const express = require("express"); let router = express.Router(); router.post("/gaming", (req,res)=>{ const addingData = new User({ name: req.body.name, genre: req.body.genre, games: req.body.games }) addingData.save((err,result)=>{ if (err = true){ console.log(err); }else{ console.log("Document dubmited successfully"); } }) res.send("saved new data"); }) module.exports = router;No sé por qué dice que el usuario no está definido porque exporté el enrutador correctamente a app.js usando module.exports = enrutador. Creo que module.export no funciona correctamente y no lleva el código al archivo app.js. Gracias por la ayuda
Como la respuesta aceptada es bastante extraña y no resuelve la causa raíz. Escribo mis 2 centavos aquí.
Node separa el código por módulos de forma predeterminada, lo que significa que el código de su aplicación y el código de ruta de su juego no interferirán ni se conocerán entre sí.
Para que funcione, import or require otros módulos en el que desea usar.
En su caso, debe importar Usuario a la ruta de juego.
en vez de
const User = mongoose.model('gaming', mySchema);Intenta usar
const User = (module.exports = mongoose.model('gaming', mySchema));;