In risposta al tuo ultimo commento.
Hai ragione sul fatto che null è un tipo di valore, ma i tipi null sono un modo per dire all'interprete che non ha nessun valore . pertanto, è necessario impostare i valori su qualsiasi valore non null o si ottiene l'errore. nel tuo caso imposta quei valori su Stringhe vuote. cioè
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 });