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.