上記のシナリオをほぼ同じバージョンのmongooseとMongoDBで複製しようとしましたが、正常に機能し、firstName
の一意のプロパティなしでドキュメントが作成(および保存)されました。 スキーマのフィールド。オブジェクトがDBに保存されなかった理由は、一意のプロパティがないためではないと思います。
また、uniqueプロパティなしでコレクションが作成されなかった理由は、コレクションにデータを挿入するまで、mongoose(またはMongoDB自体)がコレクションを作成しないためです。一意のプロパティを追加することにより、MongoDBはコレクション内にそのプロパティのインデックスドキュメントを作成する必要があり、その結果、コレクションにデータが追加されます。これが、一意のプロパティを追加した後にのみコレクションが作成されたように見える理由です。したがって、db.<collectionName>.find({}
)何も返さない可能性があります、db.<collectionName>.getIndexes()
あなたに何かを与えるでしょう。