V reakci na tvůj poslední komentář.
Máte pravdu, že null je typ hodnoty, ale typy null jsou způsob, jak sdělit interpretu, že nemá žádnou hodnotu . proto musíte nastavit hodnoty na jakoukoli jinou hodnotu než null, jinak se zobrazí chyba. ve vašem případě nastavte tyto hodnoty na prázdné řetězce. tj.
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 });