Docs Menu
Docs Home
/ /

Establecer una preferencia de lectura

En esta guía, puede aprender cómo establecer una preferencia de lectura al realizar operaciones de búsqueda con Laravel MongoDB.

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 especificar qué miembros del conjunto de réplicas reciben sus operaciones de lectura, configure una preferencia de lectura utilizando el método readPreference().

El método readPreference() acepta los siguientes parámetros:

  • mode: (Obligatorio) Un valor de string que especifica el modo de preferencia de lectura.

  • tagSets: (Opcional) Un valor de matriz que especifica etiquetas clave-valor que corresponden a ciertos miembros del conjunto de réplicas.

  • options: (Opcional) Un valor de matriz que especifica opciones de preferencia de lectura adicionales.

Tip

Para ver una lista completa de los modos y opciones de preferencia de lectura disponibles, consulte MongoDB\Driver\ReadPreference::__construct en la documentación de la extensión PHP de MongoDB.

El siguiente ejemplo busca documentos cuyo valor del campo title sea "Carrie" y establece la preferencia de lectura en ReadPreference::SECONDARY_PREFERRED. Como resultado, la consulta recupera los resultados de los miembros secundarios del conjunto de réplicas o del miembro principal si no hay secundarios disponibles:

Utilice la siguiente sintaxis para especificar la consulta:

$movies = Movie::where('title', 'Carrie')
->readPreference(ReadPreference::SECONDARY_PREFERRED)
->get();

Para ver los resultados de la query en la vista browse_movies, edita la función show() en el archivo MovieController.php para que se asemeje al siguiente código:

class MovieController
{
public function show()
{
$movies = Movie::where('title', 'Carrie')
->readPreference(ReadPreference::SECONDARY_PREFERRED)
->get();
return view('browse_movies', [
'movies' => $movies
]);
}
}
Title: Carrie
Year: 1952
Runtime: 118
IMDB Rating: 7.5
IMDB Votes: 1458
Plot: Carrie boards the train to Chicago with big ambitions. She gets a
job stitching shoes and her sister's husband takes almost all of her pay
for room and board. Then she injures a finger and ...
Title: Carrie
Year: 1976
Runtime: 98
IMDB Rating: 7.4
IMDB Votes: 115528
Plot: A shy, outcast 17-year old girl is humiliated by her classmates for the
last time.
Title: Carrie
Year: 2002
Runtime: 132
IMDB Rating: 5.5
IMDB Votes: 7412
Plot: Carrie White is a lonely and painfully shy teenage girl with telekinetic
powers who is slowly pushed to the edge of insanity by frequent bullying from
both her classmates and her domineering, religious mother.
Title: Carrie
Year: 2013
Runtime: 100
IMDB Rating: 6
IMDB Votes: 98171
Plot: A reimagining of the classic horror tale about Carrie White, a shy girl
outcast by her peers and sheltered by her deeply religious mother, who unleashes
telekinetic terror on her small town after being pushed too
far at her senior prom.

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

Para aprender cómo modificar la forma en que la integración de Laravel devuelve resultados, consulte la guía Modificar resultados de consulta.

Volver

Modificar resultados de la consulta

En esta página