Docs Menu

cursor.hint()

cursor.hint(index)

重要

mongosh メソッド

これはmongoshメソッドです。 これは、 Node.jsまたはその他のプログラミング言語固有のドライバー メソッドのドキュメントではありません

ほとんどの場合、 mongoshメソッドはレガシーの mongo shell メソッドと同じように動作します。 ただし、一部のレガシー メソッドはmongoshでは利用できません。

レガシーmongo shell のドキュメントについては、対応する MongoDB Server リリースのドキュメントを参照してください。

MongoDB API ドライバーについては、各言語のMongoDB ドライバードキュメント を参照してください。

クエリでこのメソッドを呼び出して、MongoDB のデフォルトのインデックス選択とクエリ最適化プロセスをオーバーライドします。コレクションの現在のインデックスのリストを返すには、db.collection.getIndexes() を使用します。

cursor.hint()メソッドには次のパラメーターがあります。

Parameter
タイプ
説明

index

文字列またはドキュメント

クエリを実行する際に MongoDB が使用するように「ヒント」を与える、または強制するインデックス。インデックス名またはインデックス仕様ドキュメントのいずれかでインデックスを指定します。

また、{ $natural : 1 } を指定して、クエリで順方向にコレクションスキャンを強制的に実行したり、 { $natural : -1 } を指定して、逆方向にコレクションスキャンを実行したりすることもできます。

このメソッドは、次の環境でホストされている配置で使用できます。

  • MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです

注意

このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

次の例では、age フィールドのインデックスを使用して、users という名前のコレクション内のすべてのドキュメントを返します。

db.users.find().hint( { age: 1 } )

インデックス名を使用してインデックスを指定することもできます。

db.users.find().hint( "age_1" )

{ $natural : 1 } を指定すると、クエリで強制的にコレクションの順方向スキャンを実行できます。

db.users.find().hint( { $natural : 1 } )

{ $natural : -1 } を指定して、クエリに逆方向のコレクションスキャンを強制的に実行させることもできます。

db.users.find().hint( { $natural : -1 } )