MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como detectar o erro ao inserir um documento do MongoDB que viola um índice exclusivo?


Você precisará testar o erro retornado do método save para ver se ele foi gerado para um nome de usuário 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
    });

  });
})