Inicialmente, você tinha um campo chamado
name em seu esquema, que foi definido como unique . Como eu sei? Por causa do erro me dizendo isso:
duplicate key error index: **iotdb.users.$name_1**
Você renomeou o campo para
username , mas não removeu o índice antigo. Por padrão, o MongoDB definirá o valor de um campo inexistente para null nesse caso. Documentação relevante aqui:
Se um documento não tiver um valor para o campo indexado em um índice exclusivo, o índice armazenará um valor nulo para esse documento. Por causa da restrição exclusiva, o MongoDB permitirá apenas um documento que não tenha o campo indexado.
Para resolver isso, você precisa remover o índice do
name renomeado campo.