Проблема с регистрацией пользователей. Узел JS - PullRequest
0 голосов
/ 14 сентября 2018

У меня проблема с использованием узла js и mongo db с маршрутом регистрации. Когда я использую бессонницу для публикации данных, она возвращает ошибку: Вот что она возвращает

Вот мой код:

    const express     = require('express'),
      app         = express(),
      bodyParser  = require('body-parser'),
      mongoose    = require('mongoose'),
      jwt       = require('jsonwebtoken'),
      bcrypt    = require('bcrypt'),
      config    = require('./config'),
      User      = require('./models/user');

//MongoDb configuration
mongoose.connect(config.db, { useNewUrlParser: true }, function(err){
  if(err){
    console.log(err);
  } else {
    console.log('Mongo is here for you!');
  }
});

//BodyParser configuration
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());


//Routes
app.get('/', function(req, res){
  res.json({
    "message": "Welcome to the Node express api!"
  });
});

//SignUp
app.post('/signup', function(req, res) {

  var hashedPassword = bcrypt.hashSync(req.body.password, 8);

  User.create({
    email : req.body.email,
    password : hashedPassword
  },

  function (err, user) {
    if (err) return res.status(500).send("There was a problem registering the user.")
    // create a token
    var token = jwt.sign({ id: user._id }, config.secret, {
      expiresIn: config.tokenTime // expires in
    });
    res.status(200).send({ auth: true, token: token });
  });
});

//Show all users
app.get('/users', function(req, res) {
  User.find({}, function(err, users) {
    res.json(users);
  });
});


// SERVERHOST
app.listen(3000, function(){
   console.log('Node api server has started! :)');
});

А вот модель mongoDb:

const mongoose = require('mongoose');

const user = mongoose.Schema({
   email: {
     type: String,
     required: true
   },
   password: {
     type: String,
     required: true
   }
});

module.exports = mongoose.model('User', user);

Может быть, у вас была какая-то симуляционная ошибка. Пожалуйста, помогите мне выяснить причину этой проблемы. Этот код работал один раз, и я зарегистрировал одного пользователя в БД, но после этого он возвращает только такую ​​ошибку. Заранее благодарю за помощь!

1 Ответ

0 голосов
/ 14 сентября 2018

Проблема была в "" errmsg ":" Индекс ошибки дублированного ключа E11000 "означает, что проблема была в базе данных. Я только что обновил схему с именем пользователя и удалил старые данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...