定義
- db.collection.unhideIndex()
- 重要- mongosh メソッド- このページでは、 - mongoshメソッドについて説明します。ただし、データベースコマンドや Node.js などの言語固有のドライバーのドキュメントには該当しません。- データベースコマンドについては、 - collModコマンドを使用して設定された- index.hiddenコレクション オプションを参照してください。- MongoDB API ドライバーについては、各言語の MongoDB ドライバー ドキュメントを参照してください。 - クエリ プランナーから既存のインデックスを再表示します。 非表示が解除されると、インデックスはすぐに使用できるようになります。 
互換性
このメソッドは、次の環境でホストされている配置で使用できます。
- MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです 
注意
このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。
- MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン 
- MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン 
構文
db.collection.unhideIndex(<index>) 
パラメーター
db.collection.unhideIndex()メソッドでは、次のパラメーターが使われます。
| Parameter | タイプ | 説明 | 
|---|---|---|
| 
 | 文字列またはドキュメント | クエリ プランナーから再表示するインデックスを指定します。 インデックスは、インデックス名またはインデックス仕様ドキュメントによって指定できます。 インデックス名またはインデックス仕様ドキュメントを見つけるには、  テキストインデックスの非表示を解除するには、インデックス名を指定します。 | 
は、db.collection.unhideIndex() コマンドのmongosh shellcollMod ラッパーです。
動作
インデックスの変更により統計がリセットされる
非表示インデックスを再表示すると、その$indexStatsがリセットされます。
No-op
すでに非表示になっていないインデックスを再表示しても、インデックスには影響しません。 ただし、操作では空の oplog エントリが生成されます。
必要なアクセス権
配置で認証/承認が強制される場合は、コレクションのデータベースに対してcollMod特権が必要です。
組み込みロール dbAdmin は必要な特権を提供します。
例
次の例では、既存のインデックスを再表示します。
まず、 db.collection.createIndex()を使用して非表示のインデックスを作成します。
db.restaurants.createIndex( { borough: 1, ratings: 1 }, { hidden: true } ); 
確認するには、 restaurantsコレクションでdb.collection.getIndexes()を実行します。
db.restaurants.getIndexes(); 
この操作では、次の情報が返されます。
[    {       "v" : 2,       "key" : {          "_id" : 1       },       "name" : "_id_"    },    {       "v" : 2,       "key" : {          "borough" : 1,          "ratings" : 1       },       "name" : "borough_1_ratings_1",       "hidden" : true    } ] 
インデックス オプションhiddenは、値がtrueの場合にのみ返されます。
インデックスを再表示するには、インデックスキー仕様ドキュメントまたはインデックス名のいずれかをdb.collection.unhideIndex()メソッドに指定します。 以下は、インデックス名を指定します。
db.restaurants.unhideIndex( "borough_1_ratings_1" ); 
確認するには、 restaurantsコレクションでdb.collection.getIndexes()を実行します。
db.restaurants.getIndexes() 
この操作では、次の情報が返されます。
[    {       "v" : 2,       "key" : {          "_id" : 1       },       "name" : "_id_"    },    {       "v" : 2,       "key" : {          "borough" : 1,          "ratings" : 1       },       "name" : "borough_1_ratings_1"    } ] 
インデックス オプションhiddenは、値がtrueの場合にのみ フィールドが返されるため、 borough_1_ratings_1インデックスの一部として表示されなくなりました。