MongoDBでのインデックスの作成は、べき等の操作です。したがって、db.names.createIndex({name:1})を実行します インデックスがまだ存在しない場合にのみ、インデックスを作成します。
createIndex()の非推奨(MongoDB 3.0以降)のエイリアス ensureIndex()です これは、createIndex()が何であるかを少し明確にしています 実際にそうです。
編集: createIndex()を呼び出すことをコメントで明確にしてくれたZitRoに感謝します 同じ名前で、既存のインデックスとは異なるオプションを使用すると、エラーがスローされますMongoError: Index with name: **indexName** already exists with different options この質問で説明されているように。
他に確認する理由がある場合は、次の2つの方法のいずれかで現在のインデックスデータにアクセスできます。
- v3.0以降、
db.names.getIndexes()を使用できます。 ここで、namesコレクションの名前です。ここにドキュメントがあります。 - v3.0より前では、
system.indexesにアクセスできます。 収集してfindを実行します briが以下に説明するように。