2016-07-27 32 views
0

Hallo ich benutze Mungo, um Daten von Mongodb zu bekommen. Ich habe die App auf Heroku bereitgestellt. Wenn ich meine App lokal ausführe, erhalte ich den Validierungsfehler, wenn der Benutzer existiert. Wenn ich es auf Heroku starte, erhalte ich einen Validierungsfehler, aber auch die App stürzt ab.Mongoose Validierung Crash auf Heroku

Dies ist meine Postanforderung zum Erstellen eines Benutzers.

exports.create = function (req, res, next) { 
     var newUser = new User(req.body); 
     console.log(newUser); 
     newUser.provider = 'local'; 
     newUser.role = 'user'; 
     newUser.save(function(err, user) { 
     if (err) return res.status(400).json(err); 
     var token = jwt.sign({_id: user._id }, config.secrets.session, { expiresIn: 60*5 }); 
     res.json({ token: token }); 
     }); 
    };  

Dies ist die Mungo-Validierung.

UserSchema 
    .path('email') 
    .validate(function(value, respond) { 
     var self = this; 
     this.constructor.findOne({email: value}, function(err, user) { 
     if(err) throw err; 
     if(user) { 
      if(self.id === user.id) return respond(true); 
      return respond(false); 
     } 
     respond(true); 
     }); 
    }, 'The specified email address is already in use.'); 

Dies ist der Fehler:

"stack": „Error \ n bei MongooseError.ValidationError (/Users/panayiotis/WebstormProjects/SmartHome/node_modules/mongoose/lib/error/validation.js: 22:16) \ n bei model.Document.invalidate (/Users/panayiotis/WebstormProjects/SmartHome/node_modules/mongoose/lib/document.js:1162:32)\n at/Benutzer/panayiotis/WebstormProjects/SmartHome/node_modules/mongoose/lib/document.js: 1037: 16 \ n at validieren (/Users/panayiotis/WebstormProjects/SmartHome/node_modules/mongoose/lib/schematype.js:653:7)\n at/Benutzer/panayiotis/WebstormProjects/SmartHome /node_modules/mongoose/lib/schematype.js:678:11\n bei Abfrage. (/ Benutzer/panayiotis/WebstormProjects/SmartHome/server/api/user/user.model.js: 80: 16) \ n unter /Users/panayiotis/WebstormProjects/SmartHome/node_modules/mongoose/node_modules/kareem/index.js:177:19\n at/Benutzer/panayiotis/WebstormProjects/SmartHome /node_modules/mongoose/node_modules/kareem/index.js:109:16\n bei nextTickCallbackWith0Args (node.js: 420: 9) \ n bei process._tickCallback (node.js: 349: 13) ", " Nachricht " : "User-Validierung fehlgeschlagen", "name": "Validation", "Fehler": { "E-Mail": { "Eigenschaften": { "type": "benutzerdefiniert", "message": " Die angegebene E-Mail-Adresse wird bereits verwendet. ", " Pfad ":" E-Mail ", " Wert ":" [email protected] " },

+0

Ich bin zwar nicht sicher, aber haben Sie versucht, die letzte Antwort (wahr); in Ihrer Validierung? – CENT1PEDE

Antwort

0

Ich löse es Aktualisierung der Mungo