Původně jste měli pole s názvem name ve vašem schématu bylo nastaveno na unique .
Jak to mám vědět? Kvůli chybě, která mi to říká:
duplicate key error index: **iotdb.users.$name_1**
Přejmenovali jste pole na username , ale neodstranil starý index. Ve výchozím nastavení MongoDB nastaví hodnotu neexistujícího pole na null v tom případě.
Příslušná dokumentace zde:
Pokud dokument nemá hodnotu pro indexované pole v jedinečném indexu, index uloží pro tento dokument hodnotu null. Kvůli jedinečnému omezení MongoDB povolí pouze jeden dokument, který postrádá indexované pole.
Chcete-li to vyřešit, musíte odstranit index pro přejmenovaný name pole.