Intentando crear inicio de signin y signup usando express y MongoDB. En el cartero, los datos se pasan perfectamente, pero no se pudieron guardar en el clúster mongoDB. EN este archivo se crea la conexión a la base de datos y también me confunde si estoy conectado a la base de datos o no en este archivo, creé un esquema para que se proporcionen los detalles del usuario
//Index.js const express = require("express"); const mongoose = require("mongoose"); const app = express(); const dotenv = require("dotenv"); dotenv.config(); const db = process.env.DATABASE; mongoose.connect(db, { useNewUrlParse: true }, () => console.log("connected to db") ); //midlewares app.use(express.json()); //importing routes const authRoute = require("./routes/auth"); //route middle wares app.use("/api/user", authRoute); app.listen(3000, () => console.log("gg server is running")); //User.js const mongoose = require("mongoose"); const { Schema } = mongoose; const userSchema = new Schema({ name: { type: String, max: 32, required: true, min: 6, }, email: { type: String, required: true, max: 32, }, password: { type: String, max: 1022, min: 8, required: true, }, date: { type: Date, default: Date.now, }, }); module.exports = mongoose.model("User", userSchema); //Auth.js const router = require("express").Router(); const User = require("../model/User"); router.post("/register", (req, res) => { const user = new User({ name: req.body.name, email: req.body.email, password: req.body.password, }); const name = { name: req.body.name, email: req.body.email, }; res.send(user); user.save(); }); module.exports = route[![enter image description here][1]][1]r; Primero, debe crear un servidor después de que su MongoDB esté conectado. Por lo tanto, coloque la lógica de su servidor dentro de mongoose.connect connect. Esto asegurará que cuando intente crear un nuevo usuario, MongoDB ya esté conectado.
mongoose.connect(db, { useNewUrlParse: true }, () => console.log("connected to db"); //midlewares app.use(express.json()); //importing routes const authRoute = require("./routes/auth"); //route middle wares app.use("/api/user", authRoute); app.listen(3000, () => console.log("gg server is running")); ); Utilice el método de create para crear un nuevo documento de usuario:
router.post("/register", async (req, res) => { const user = await User.create({ name: req.body.name, email: req.body.email, password: req.body.password, }); return res.status(200).json(user); });