MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie kann man den Fehler beim Einfügen eines MongoDB-Dokuments abfangen, das einen eindeutigen Index verletzt?

Sie müssen den von der save-Methode zurückgegebenen Fehler testen, um zu sehen, ob er für einen doppelten Benutzernamen ausgelöst wurde.

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

  });
})