Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

cursor.hint()

項目一覧

  • 定義
  • 動作
cursor.hint(index)

重要

mongosh メソッド

このページでは、 mongosh メソッドが文書化されます。これは Node.js などの言語固有のドライバーのドキュメントではありません

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

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

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

Parameter
タイプ
説明
index
文字列またはドキュメント

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

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

  • クエリシェイプにインデックス フィルターが存在する場合、MongoDB は hint() を無視します。

  • クエリに $text 式が含まれている場合、hint() を使用してクエリに使用するインデックスを指定することはできません。

  • 表示のインデックス、または存在しないインデックスで hint() を使用すると、操作はエラーを返します。

  • 時系列コレクションでは、インデックス名を使用してヒントのみを指定でき、インデックス キー パターンは指定できません。

次の例では、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 } )

Tip

以下も参照してください。

戻る

cursor.hasNext

項目一覧