MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mongoose - verursacht durch ::11000 E11000 doppelter Schlüsselfehlerindex?

Sie hatten ursprünglich ein Feld namens name in Ihrem Schema wurde das auf unique gesetzt .

Wie soll ich wissen? Wegen des Fehlers, der mir das sagt:

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

Sie haben das Feld in username umbenannt , hat aber den alten Index nicht entfernt. Standardmäßig setzt MongoDB den Wert eines nicht vorhandenen Felds auf null in diesem Fall.

Relevante Dokumentation hier:

Wenn ein Dokument keinen Wert für das indizierte Feld in einem eindeutigen Index hat, speichert der Index einen Nullwert für dieses Dokument. Aufgrund der Eindeutigkeitsbeschränkung lässt MongoDB nur ein Dokument zu, dem das indizierte Feld fehlt.

Um dies zu lösen, müssen Sie den Index für den umbenannten name entfernen Feld.