The errors that are currently being checked and raised in the controller should be checked here instead so that if we use this API in other places it will not require duplicating errors.  Also, since the value of find_and_modify is never checked.