AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs Menu

クエリ ログを有効にする

このガイドでは、 MongoDBでクエリのログ記録を有効にする方法を学習できます。クエリのロギングは、クエリをデバッグし、データベースのインタラクションを監視するのに役立ちます。

このガイドのコード例を実行するには、「クイック スタート 」チュートリアルを完了してください。 このチュートリアルでは、サンプル データを使用して MongoDB Atlas インスタンスを設定し、Lambda ウェブ アプリケーションで次のファイルを作成する手順を説明します。

  • Movie.php ファイル( moviesコレクション内のドキュメントを表すMovieモデルを含む)

  • MovieController.php ファイル(データベース操作を実行するためのshow()関数を含む)

  • browse_movies.blade.php データベース操作の結果を表示するための HTML コードを含む ファイル

次のセクションでは、Laravel アプリケーション内のファイルを編集して検索操作コード例を実行し、期待される出力を表示する方法について説明します。

接続でログを有効にするには、DB ファサードで enableQueryLog() メソッドを使用します。このメソッドにより、データベース接続で実行するクエリに対してMongoDBコマンドのログ記録が有効になります。

クエリ ロギングを有効にすると、実行されるすべてのクエリはメモリに保存されます。ログを検索するには、次のいずれかの方法を使用します。

  • getQueryLog(): MongoDBクエリのログを返します

  • getRawQueryLog(): 未加工のMongoDBクエリのログを返します

次の例では、クエリ ロギングを有効にし、いくつかのクエリを実行してから クエリログを出力します。

DB::connection('mongodb')->enableQueryLog();
Movie::where('title', 'Carrie')->get();
Movie::where('year', '<', 2005)->get();
Movie::where('imdb.rating', '>', 8.5)->get();
$logs = DB::connection('mongodb')->getQueryLog();
foreach ($logs as $log) {
echo json_encode($log, JSON_PRETTY_PRINT) . PHP_EOL;
}

MongoDB への接続の詳細については、「接続ガイド」を参照してください。

フィルター条件に基づいてデータを検索する方法については、 「MongoDB データの検索」ガイドを参照してください。