sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo detectar el error al insertar un documento MongoDB que viola un índice único?

Deberá probar el error devuelto por el método de guardar para ver si se produjo para un nombre de usuario duplicado.

app.post('/authenticate', function(req, res) {
  var user = new User({
    username: req.body.username
  });

  user.save(function(err) {
    if (err) {
      if (err.name === 'MongoError' && err.code === 11000) {
        // Duplicate username
        return res.status(422).send({ succes: false, message: 'User already exist!' });
      }

      // Some other error
      return res.status(422).send(err);
    }

    res.json({
      success: true
    });

  });
})