Visão geral
Neste guia, você pode aprender como habilitar o registro de query no Laravel MongoDB. O registro de query pode ajudá-lo a depurar suas queries e monitorar as interações do banco de dados .
Antes de começar
Para executar os exemplos de código neste guia, conclua o tutorial Início Rápido . Este tutorial fornece instruções sobre como configurar uma instância do MongoDB Atlas com dados de amostra e criar os seguintes arquivos em seu aplicação web Laravel :
Movie.php
arquivo, que contém um modeloMovie
para representar documentos na coleçãomovies
MovieController.php
arquivo, que contém uma funçãoshow()
para executar operações do banco de dadosbrowse_movies.blade.php
arquivo, que contém código HTML para exibir os resultados das operações do reconhecimento de data center
As seções a seguir descrevem como editar os arquivos em seu aplicativo Laravel para executar os exemplos de código da operação e visualizar o resultado esperado.
Habilitar registros em uma conexão
Para habilitar registros em uma conexão, você pode utilizar o método enableQueryLog()
na face DB
. Este método habilita o registro de comando do MongoDB em quaisquer queries que você executar na conexão do banco de dados .
Depois de ativar o registro de query, todas as queries executadas são armazenadas na memória. Para recuperar os registros, use um dos seguintes métodos:
getQueryLog()
: retorna um registro de queries MongoDBgetRawQueryLog()
: retorna um registro de queries MongoDB brutas
O exemplo a seguir ativa o registro de query, executa algumas queries e imprime o log de query:
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 }
Informações adicionais
Para saber mais sobre como se conectar ao MongoDB, consulte o Guia de Conexão.
Para saber como recuperar dados com base em critérios de filtro, consulte o guia Recuperar dados.