最初はname
というフィールドがありました スキーマでは、unique
に設定されています 。
どうすればわかりますか?エラーが原因でそう言われました:
duplicate key error index: **iotdb.users.$name_1**
フィールドの名前をusername
に変更しました 、ただし、古いインデックスは削除されませんでした。デフォルトでは、MongoDBは存在しないフィールドの値をnull
に設定します その場合。
ここに関連するドキュメント:
ドキュメントに一意のインデックスのインデックス付きフィールドの値がない場合、インデックスはこのドキュメントのnull値を格納します。一意の制約があるため、MongoDBはインデックス付きフィールドがないドキュメントを1つだけ許可します。
これを解決するには、名前が変更されたname
のインデックスを削除する必要があります フィールド。