MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come catturare l'errore quando si inserisce un documento MongoDB che viola un indice univoco?

Dovrai testare l'errore restituito dal metodo di salvataggio per vedere se è stato generato per un nome utente duplicato.

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
    });

  });
})