sql >> データベース >  >> NoSQL >> MongoDB

インデックスがmongodbに存在するかどうかを確認する

    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つの方法のいずれかで現在のインデックスデータにアクセスできます。

    1. v3.0以降、db.names.getIndexes()を使用できます。 ここで、names コレクションの名前です。ここにドキュメントがあります。
    2. v3.0より前では、system.indexesにアクセスできます。 収集してfindを実行します briが以下に説明するように。


    1. Scalaから使用するためのRedisクライアントライブラリの推奨事項

    2. 変数KEYSを使用してLuaからRediszunionstoreを呼び出す

    3. BsonRepresentation(BsonType.ObjectId)とBsonIdとObjectIdを使用したC#のプロパティの装飾の違い

    4. MongoDBを使用してHerokuで独自のParseServerをホストするにはどうすればよいですか?