Docs Menu
Docs Home
/ /

Habilitar el registro de consultas

En esta guía, aprenderá a habilitar el registro de consultas en Laravel MongoDB. El registro de consultas le ayudará a depurar sus consultas y a supervisar las interacciones con la base de datos.

Para ejecutar los ejemplos de código de esta guía, complete el Tutorial deinicio rápido. Este tutorial proporciona instrucciones para configurar una instancia de MongoDB Atlas con datos de ejemplo y crear los siguientes archivos en su aplicación web de Laravel:

  • Movie.php archivo, que contiene un modelo Movie para representar documentos en la colección movies

  • MovieController.php archivo, que contiene una función show() para ejecutar operaciones de base de datos

  • browse_movies.blade.php archivo, que contiene código HTML para mostrar los resultados de las operaciones de la base de datos

Las siguientes secciones describen cómo editar los archivos en su aplicación Laravel para ejecutar los ejemplos de código de la operación de búsqueda y ver el resultado esperado.

Para habilitar los registros en una conexión, puede usar el método enableQueryLog() en la fachada DB. Este método habilita el registro de comandos de MongoDB en cualquier consulta que realice en la conexión de la base de datos.

Tras habilitar el registro de consultas, todas las consultas que realice se almacenarán en memoria. Para recuperar los registros, utilice uno de los siguientes métodos:

  • getQueryLog(): Retorna un registro de queries de MongoDB

  • getRawQueryLog(): Devuelve un registro de consultas MongoDB sin procesar

El siguiente ejemplo habilita el registro de consultas, realiza algunas consultas y luego imprime el registro de consultas:

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
}

Para obtener más información sobre cómo conectarse a MongoDB, consulte la Guía de conexión.

Para aprender cómo recuperar datos según criterios de filtro, consulte la guía Recuperar datos.

Volver

preferencia de lectura

En esta página