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.