Mongoose: le chemin d'erreur de validation est requis
Je suis en train d'enregistrer un nouveau document dans mongodb avec la mangouste, mais je suis ValidationError: Path 'email' is required., Path 'passwordHash' is required., Path 'username' is required.
même si je suis un fournisseur de e-mail, propriétés passwordhash et nom d'utilisateur.
Ici est à l'utilisateur de schéma.
var userSchema = new schema({
_id: Number,
username: { type: String, required: true, unique: true },
passwordHash: { type: String, required: true },
email: { type: String, required: true },
admin: Boolean,
createdAt: Date,
updatedAt: Date,
accountType: String
});
C'est comment je suis création et l'enregistrement de l'utilisateur de l'objet.
var newUser = new user({
/* We will set the username, email and password field to null because they will be set later. */
username: null,
passwordHash: null,
email: null,
admin: false
}, { _id: false });
/* Save the new user. */
newUser.save(function(err) {
if(err) {
console.log("Can't create new user: %s", err);
} else {
/* We succesfully saved the new user, so let's send back the user id. */
}
});
Alors pourquoi ne mangouste retourner une erreur de validation, je ne peux pas utiliser null
temporaire de la valeur?
source d'informationauteur 2trill2spill
Vous devez vous connecter pour publier un commentaire.
En réponse à votre dernier commentaire.
Il est exact que la valeur null est une valeur de type, mais nulle types de sont une façon de dire à l'interprète qu'il a aucune valeur. par conséquent, vous devez définir les valeurs pour toute valeur non nulle ou vous obtenez le message d'erreur. dans votre cas, de définir ces valeurs à des Chaînes vides. c'est à dire
Bien, la façon suivante est de savoir comment je me suis débarrassé des erreurs. J'ai eu le schéma suivant:
et mon terminal me jeter le journal suivant et ensuite dans l'infini recharger sur l'appel de ma fonction registre:
Donc, comme il l'a dit Chemin "mot de passe" n'est pas nécessaire, j'ai commenté la
required:true
line out de mon modèle etvalidate:email
line out de mon modèle.