Docs Menu
Docs Home
/ / /
Laravel MongoDB
/ /

쿼리 로깅 활성화

이 가이드 에서는 Laravel MongoDB 에서 쿼리 로깅을 활성화 방법을 학습 수 있습니다. 쿼리 로깅은 쿼리를 디버깅하고 데이터베이스 상호 작용을 모니터 도움이 될 수 있습니다.

이 가이드 의 코드 예제를 실행 하려면 빠른 시작 튜토리얼을 완료하세요. 이 튜토리얼에서는 샘플 데이터로 MongoDB Atlas 인스턴스 를 설정하고 Laravel 웹 애플리케이션 에서 다음 파일을 만드는 방법에 대한 지침을 제공합니다.

  • Movie.php 파일에 movies collection의 문서를 나타내는 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;
}
{
"query": "{ \"find\" : \"movies\", \"filter\" : { \"title\" : \"Carrie\" } }",
"bindings": [],
"time": 29476
}
{
"query": "{ \"find\" : \"movies\", \"filter\" : { \"year\" : { \"$lt\" : { \"$numberInt\" : \"2005\" } } } }",
"bindings": [],
"time": 29861
}
{
"query": "{ \"find\" : \"movies\", \"filter\" : { \"imdb.rating\" : { \"$gt\" : { \"$numberDouble\" : \"8.5\" } } } }",
"bindings": [],
"time": 27251
}

MongoDB에 연결하는 방법에 대한 자세한 내용은 연결 가이드를 참조하세요.

필터하다 기준에 따라 데이터를 조회 방법을 학습 데이터 검색 가이드 참조하세요.

돌아가기

읽기 설정

이 페이지의 내용