En réponse à votre dernier commentaire.
Vous avez raison de dire que null est un type valeur, mais les types null sont un moyen de dire à l'interpréteur qu'il n'a aucune valeur . par conséquent, vous devez définir les valeurs sur n'importe quelle valeur non nulle ou vous obtenez l'erreur. dans votre cas, définissez ces valeurs sur des chaînes vides. c'est-à-dire
var newUser = new user({
/* We will set the username, email and password field to null because they will be set later. */
username: '',
passwordHash: '',
email: '',
admin: false
}, { _id: false });