How to display mongoose error to backbone views
Found out the solution after looking through the "errors" object
All errors are returned in "errors.resposeText" which has format like{ "key name": { "message": "", "name": "", "path": "", "type": "", "value": "" }}this.model.save(user_details, { // this is backbone model error: function (model, errors) { var err = JSON.parse(errors.responseText); $.each(errors, function (name, err) { // do something with error console.log(name + err.message); } }, success: function (model, response) { } });
NOTE: Errors from mongodb like unique, dup keys are not appended in this format. So its upto us to change them to json and wrap it up in res.errors.
In case of error in unique keys user.save(function (err) { if (err) { if(err.code!='undefined' && err.code=='11000') err.errors = {'email':{'message':'This unique value is already in db'}}; res.send(500, err.errors); }