Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Configura 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 Configuración rápida tutorial. Este tutorial proporciona instrucciones para configurar una instancia de MongoDB Atlas con datos de muestra y crear los siguientes archivos en su aplicación web 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 de tu aplicación Laravel para ejecutar los ejemplos de código de operaciones de búsqueda y ver la salida esperada.

Para especificar qué miembros del conjunto de réplicas reciben tus operaciones de lectura, establece 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 arreglo que especifica etiquetas de clave-valor que corresponden a ciertos miembros del set 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 query:

$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 en función de criterios de filtro, consulta 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 queries

En esta página