Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

358
Views
Usado único dentro del índice de correo electrónico Mongodb, no puede alertar a 'usuario ya registrado'

unique:true deja de agregar a la base de datos, pero solo recibe el mensaje de error catch(e). Intenté usar el método findOne, pero como principiante, la arquitectura me sigue confundiendo.

 require('dotenv').config() const express = require('express') const cors = require('cors') const bodyParser = require('body-parser') const mongoose = require('mongoose') const app = express(); const urlencodedParser = bodyParser.urlencoded({ extended: false }) app.use(bodyParser.json(), urlencodedParser); app.use(cors()); const dbURI = `mongodb+srv://${process.env.REACT_APP_DB_USERNAME}:${process.env.REACT_APP_DB_PASSWORD}@cluster0.sd1id.mongodb.net/register?retryWrites=true&w=majority` mongoose.connect(dbURI, { useNewUrlParser:true, useUnifiedTopology:true }) .then((res) => { const User = mongoose.model('users', UsersSchema); User.createIndexes();

Tener problemas aquí, creo. Va directamente al error, y no al bucle else.

 app.post('/register', async (req, res) => { try { const user = new User(req.body); let result = await user.save(); result = result.toObject(); // console.log(result); if (result) { delete result.password; res.send(req.body); // console.log(result); } else { console.log("User already registered!"); } } catch (e) { console.log("Something went wrong!"); } }) }) .catch(err => console.log(err)) const UsersSchema = new mongoose.Schema({ email: { type: String, unique: true, required: true, }, password: { type: String, required: true, } }) app.listen(3001, () => console.log("Server is listening to port 3001"))
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Hay un poco de confusión en tu código...

aplicación.js

 require('dotenv').config() const express = require('express') const cors = require('cors') const bodyParser = require('body-parser') const mongoose = require('mongoose') const app = express(); const createUser = require('registerController'); // repleace 3000 with a port number of your choice const port = 3000 || process.env.PORT; app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); app.use(cors()); app.post('/register', createUser); const dbURI = `mongodb+srv://${process.env.REACT_APP_DB_USERNAME}:${process.env.REACT_APP_DB_PASSWORD}@cluster0.sd1id.mongodb.net/register?retryWrites=true&w=majority` mongoose.connect(dbURI, { useNewUrlParser:true, useUnifiedTopology:true }) .then(() => { app.listen(port, () => console.log(`Server listening on Port ${port}`)); });

Usuario.js

 const mongoose = require('mongoose'); const userSchema = new mongoose.Schema({ email: { type: String, unique: true, required: true, }, password: { type: String, required: true, } }); module.exports = mongoose.model('User', userSchema);

registrarseControlador.js

 const User = require('User'); const createUser = async (req, res) => { try { const user = await User.create(req.body); // console.log(user); if (user) { delete user.password; res.send(req.body); // console.log(user); } else { console.log("User already registered!"); } } catch (e) { console.log("Something went wrong!"); } }; module.exports = createUser;
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!