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

Visualizar dados do MongoDB

1

Crie um modelo chamado Movie para representar dados da collection movies em seu MongoDB database e o controlador de recurso correspondente executando o seguinte comando:

php artisan make:model Movie -cr

Quando o comando é concluído, ele gera a seguinte mensagem:

INFO Model [app/Models/Movie.php] created successfully.
INFO Controller [app/Http/Controllers/MovieController.php] created successfully.
2

Abra o modelo Movie.php no seu diretório app/Models e faça as seguintes edições:

  • Substitua a importação Illuminate\Database\Eloquent\Model por MongoDB\Laravel\Eloquent\Model

  • Especifique "mongodb" no campo $connection

O arquivo Movie.php editado contém o seguinte código:

<?php
namespace App\Models;
use MongoDB\Laravel\Eloquent\Model;
class Movie extends Model
{
protected $connection = 'mongodb';
}
3

Abra o arquivo MovieController.php no seu diretório app/Http/Controllers . Substitua a função show() pelo seguinte código para recuperar resultados que correspondem a uma query de reconhecimento de data center e renderizá-lo na view:

public function show()
{
return view('browse_movies', [
'movies' => Movie::where('runtime', '<', 60)
->where('imdb.rating', '>', 8.5)
->orderBy('imdb.rating', 'desc')
->take(10)
->get()
]);
}
4

Abra o arquivo web.php no diretório routes . Adicione uma importação para o MovieController e uma rota chamada browse_movies como mostrado no seguinte código:

<?php
// ...
use App\Http\Controllers\MovieController;
Route::get('/browse_movies/', [MovieController::class, 'show']);
5

Execute o seguinte comando a partir do diretório raiz do aplicativo para criar uma visualização que exiba os dados do filme:

php artisan make:view browse_movies

Depois de executar o comando, ele gera a seguinte mensagem:

INFO View [resources/views/browse_movie.blade.php] created successfully.

Abra o arquivo de visualização browse_movie.blade.php no diretório resources/views . Substitua o conteúdo pelo seguinte código e salve as alterações:

<!DOCTYPE html>
<html>
<head>
<title>Browse Movies</title>
</head>
<body>
<h2>Movies</h2>
@forelse ($movies as $movie)
<p>
Title: {{ $movie->title }}<br>
Year: {{ $movie->year }}<br>
Runtime: {{ $movie->runtime }}<br>
IMDB Rating: {{ $movie->imdb['rating'] }}<br>
IMDB Votes: {{ $movie->imdb['votes'] }}<br>
Plot: {{ $movie->plot }}<br>
</p>
@empty
<p>No results</p>
@endforelse
</body>
</html>
6

Ao invés de gerar uma visualização e editar o arquivo browse_movie.blade.php , você pode utilizar o método toJson() para exibir seus resultados no formato JSON.

Substitua a função show() pelo seguinte código para recuperar resultados e devolvê-los como documentos JSON:

public function show()
{
$results = Movie::where('runtime', '<', 60)
->where('imdb.rating', '>', 8.5)
->orderBy('imdb.rating', 'desc')
->take(10)
->get();
return $results->toJson();
}
7

Execute o seguinte comando a partir do diretório raiz do aplicativo para iniciar seu servidor da web integrado no PHP:

php artisan serve

Após o servidor iniciar, ele gera a seguinte mensagem:

INFO Server running on [http://127.0.0.1:8000].
Press Ctrl+C to stop the server
8

Abra o URL http://127.0.0.1:8000/browse_movies no seu navegador da web. A página mostra uma lista de filmes e detalhes sobre cada um deles.

Dica

Você pode executar o comando php artisan route:list a partir do diretório raiz do aplicativo para visualizar uma lista de rotas disponíveis.

Observação

Se você tiver problemas, peça ajuda nos Fóruns daMongoDB Community ou envie comentários usando a guia Rate this page no lado direito ou inferior direito da página.

Voltar

Configurar sua conexão MongoDB