MongoDB 데이터 보기
Laravel 통합을 사용하도록 모델 편집
app/Models
디렉토리에서 Movie.php
모델을 열고 다음과 같이 편집합니다.
Illuminate\Database\Eloquent\Model
가져오기를MongoDB\Laravel\Eloquent\Model
으)로 바꿉니다.$connection
필드에"mongodb"
를 지정합니다.
편집한 Movie.php
파일에는 다음 코드가 포함되어 있습니다.
namespace App\Models; use MongoDB\Laravel\Eloquent\Model; class Movie extends Model { protected $connection = 'mongodb'; }
컨트롤러 기능 추가
app/Http/Controllers
디렉토리에서 MovieController.php
파일을 엽니다. 데이터베이스 쿼리와 일치하는 결과를 검색하고 뷰에 렌더링하려면 show()
함수를 다음 코드로 바꿉니다.
public function show() { return view('browse_movies', [ 'movies' => Movie::where('runtime', '<', 60) ->where('imdb.rating', '>', 8.5) ->orderBy('imdb.rating', 'desc') ->take(10) ->get() ]); }
뷰 생성
애플리케이션 루트 디렉토리에서 다음 명령을 실행하여 영화 데이터를 표시하는 뷰를 만듭니다.
php artisan make:view browse_movies
명령을 실행하면 다음 메시지가 출력됩니다.
INFO View [resources/views/browse_movie.blade.php] created successfully.
resources/views
디렉토리에서 browse_movie.blade.php
뷰 파일을 엽니다. 내용을 다음 코드로 바꾸고 변경 사항을 저장합니다.
<!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>
선택적으로 결과를 JSON 문서로 볼 수 있습니다.
뷰를 생성하고 browse_movie.blade.php
파일을 편집하는 대신 toJson()
메서드를 사용하여 결과를 JSON 형식으로 표시할 수 있습니다.
show()
함수를 다음 코드로 대체하여 결과를 조회 하고 JSON 문서로 반환합니다.
public function show() { $results = Movie::where('runtime', '<', 60) ->where('imdb.rating', '>', 8.5) ->orderBy('imdb.rating', 'desc') ->take(10) ->get(); return $results->toJson(); }
영화 데이터 보기
웹 브라우저에서 URL http://127.0.0.1:8000/browse_movies 를 엽니다. 이 페이지에는 영화 목록과 각 영화에 대한 세부 정보가 표시됩니다.
팁
애플리케이션 루트 디렉토리에서 php artisan route:list
명령을 실행하여 사용 가능한 경로 목록을 볼 수 있습니다.
참고
문제가 발생하면 MongoDB Community 포럼 에서 도움을 요청하거나 페이지 오른쪽 또는 오른쪽 하단에 있는 Rate this page 탭을 사용하여 피드백을 제출하세요.