Vous aviez initialement un champ appelé name
dans votre schéma, qui a été défini sur unique
.
Comment puis-je savoir? À cause de l'erreur qui me le dit :
duplicate key error index: **iotdb.users.$name_1**
Vous avez renommé le champ en username
, mais n'a pas supprimé l'ancien index. Par défaut, MongoDB définira la valeur d'un champ inexistant sur null
dans ce cas.
Documentation pertinente ici :
Si un document n'a pas de valeur pour le champ indexé dans un index unique, l'index stockera une valeur nulle pour ce document. En raison de la contrainte unique, MongoDB n'autorisera qu'un seul document sans champ indexé.
Pour résoudre ce problème, vous devez supprimer l'index du name
renommé champ.