MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment détecter l'erreur lors de l'insertion d'un document MongoDB qui viole un index unique ?

Vous devrez tester l'erreur renvoyée par la méthode save pour voir si elle a été renvoyée pour un nom d'utilisateur en double.

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

  });
})