カーソルイン MongoDB チュートリアル: 例で学ぶ

⚡ スマートサマリー

カーソルイン MongoDB は、db.collection.find() 関数によって返される、一致するドキュメントの結果セットへのポインタです。デフォルトでは自動的に反復処理されますが、開発者は hasNext() や next() などのメソッドを使用してドキュメントを 1 つずつ処理することもできます。

  • 🖱️ カーソル定義: db.collection.find() によって返されるドキュメントへのポインタ MongoDB.
  • 🔁 自動反復処理: デフォルトでは、クエリ結果が返されるとカーソルは自動的に反復処理されます。
  • 👉 手動反復: whileループ内でhasNext()とnext()を使用して、ドキュメントを1つずつ順番に処理します。
  • 📄 Readable 出力: tojson() 関数を使用して、各ドキュメントを読みやすい JSON 形式で出力します。
  • 🔎 クエリの例: find({Employeeid:{$gt:2}}) は、ID が 2 より大きい従業員を返します。

カーソルイン MongoDB

カーソルは何ですか MongoDB?

db.collection.find() 関数を使用してコレクション内のドキュメントを検索すると、結果はカーソルと呼ばれる、返されたドキュメントのコレクションへのポインタを返します。

デフォルトでは、クエリの結果が返されると、カーソルは自動的に反復されます。 ただし、カーソルで返された項目を 3 つずつ明示的に調べることもできます。 以下の例を見ると、コレクションに XNUMX つのドキュメントがある場合、カーソル オブジェクトは最初のドキュメントを指し、コレクションのすべてのドキュメントを反復処理します。

カーソルイン MongoDB

次の例は、これを実行する方法を示しています。

var myEmployee = db.Employee.find( { Employeeid : { $gt:2 }});

	while(myEmployee.hasNext())

	{

		print(tojson(myEmployee.next()));

	}

Code 説明

  1. まず、ID が 2 より大きい従業員を検索するクエリの結果セットを取得し、それを Javaスクリプト 変数「myEmployee」
  2. 次に、while ループを使用して、クエリの一部として返されるすべてのドキュメントを反復処理します。
  3. 最後に、各文書の詳細を次のように印刷します。 JSONの 読みやすい形式。

コマンドが正常に実行されると、次の出力が表示されます。

出力

カーソルイン MongoDB

よくあるご質問

反復処理 MongoDB whileループ内でhasNext()やnext()などのメソッドを使用するか、forEach()を使用してカーソルを操作します。デフォルトでは、シェルは最初の20個のドキュメントを自動的に反復処理します。

A MongoDB カーソルはドキュメントをバッチ単位で返します。最初のバッチには最大101個のドキュメント、または16MBのドキュメントが格納され、シェルは最初の20件の結果を自動的に表示した後、さらにドキュメントの入力を求めます。

はい。デフォルトでは、 MongoDB サーバー上で10分間操作がないとカーソルがタイムアウトします。長時間実行される処理の場合は、noCursorTimeoutオプションを使用してこの機能を無効にすることができます。

AIアシスタントは生成できます MongoDB クエリの検索、集約パイプラインの構築、カーソルメソッドの説明、プレーン言語のリクエストをシェルコードまたはドライバコードに変換するヘルプping 開発者はより高速にデータを照会できる。

はい。AIツールはインデックスを提案したり、返されるフィールドを制限するためのプロジェクションを推奨したり、非効率なクエリを警告したりすることができます。ping カーソル処理時間とメモリ使用量を削減 MongoDB 分野の様々なアプリケーションで使用されています。