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が以下に説明するように。