Menu Docs
Página inicial do Docs
/ / /
Laravel MongoDB
/ /

Definir uma preferência de leitura

Neste guia, você pode aprender como definir uma preferência de leitura ao realizar operações de localização com o Laravel MongoDB.

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 modelo Movie para representar documentos na coleção movies

  • MovieController.php arquivo, que contém uma função show() para executar operações do banco de dados

  • browse_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.

Para especificar quais nós do conjunto de réplicas recebem suas operações de leitura, defina uma preferência de leitura usando o método readPreference().

O método readPreference() aceita os seguintes parâmetros:

  • mode: (obrigatório) um valor de string especificando o modo de preferência de leitura .

  • tagSets: (Opcional) Um valor de array especifica tags de valor-chave que correspondem a determinados membros do conjunto de réplicas.

  • options: (Opcional) Um valor de array especificando opções adicionais de preferência de leitura .

Dica

Para visualizar uma lista completa de modos e opções de preferência de leitura disponíveis, consulte MongoDB\Driver\ReadPreference::__construct na documentação de extensão PHP do MongoDB.

O exemplo a seguir faz query de documentos nos quais o valor do campo title é "Carrie" e define a preferência de leitura como ReadPreference::SECONDARY_PREFERRED. Como resultado, a query recupera os resultados dos membros secundários do conjunto de réplicas ou do membro primário se nenhum secundário estiver disponível:

Use a seguinte sintaxe para especificar a query:

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

Para ver os resultados da query na exibição browse_movies , edite a função show() no arquivo MovieController.php para se assemelhar ao código a seguir:

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 saber como recuperar dados com base em critérios de filtro, consulte o guia Recuperar dados.

Para saber como modificar a maneira como a integração com o Laravel retorna resultados, consulte o guia Modificar resultados da query.

Voltar

Modificar Resultados da Query

Nesta página