MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Mangusto - causado por ::11000 E11000 índice de erro de chave duplicada?


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.