MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Mongoose - causato da ::11000 E11000 indice di errore chiave duplicata?

Inizialmente avevi un campo chiamato name nel tuo schema, era impostato su unique .

Come lo so? A causa dell'errore che me lo dice:

duplicate key error index: **iotdb.users.$name_1**

Hai rinominato il campo in username , ma non ha rimosso il vecchio indice. Per impostazione predefinita, MongoDB imposterà il valore di un campo inesistente su null in tal caso.

Documentazione pertinente qui:

Se un documento non ha un valore per il campo indicizzato in un indice univoco, l'indice memorizzerà un valore nullo per questo documento. A causa del vincolo univoco, MongoDB consentirà solo un documento privo del campo indicizzato.

Per risolvere questo problema, devi rimuovere l'indice per il name rinominato campo.