쿼리 결과 수정
이 페이지의 내용
개요
이 가이드 에서는 Laravel MongoDB 쿼리에서 결과를 반환하는 방식을 사용자 지정하는 방법을 학습 수 있습니다. where()
메서드에 더 많은 메서드를 연결하여 찾기 작업의 결과를 수정할 수 있습니다.
다음 섹션에서는 where()
메서드의 동작을 수정하는 방법을 보여줍니다.
건너뛰기 및 결과 제한 은
skip()
메서드를 사용하여 건너뛸 문서 수를 설정하고take()
메서드를 사용하여 반환할 총 문서 수를 설정합니다.쿼리 결과 정렬
orderBy()
메서드를 사용하여 필드 값에 따라 지정된 순서로 쿼리 결과를 반환합니다.
Laravel 통합의 Eloquent 모델에 학습 보려면 Eloquent 모델 섹션을 참조하세요.
시작하기 전에
이 가이드의 코드 예제를 실행하려면 빠른 시작 튜토리얼을 완료하세요. 이 튜토리얼에서는 샘플 데이터를 사용하여 MongoDB Atlas 인스턴스를 설정하고 Laravel 웹 애플리케이션에서 다음 파일을 만드는 방법에 대한 지침을 제공합니다.
Movie.php
파일에는movies
collection의 문서를 나타내는Movie
모델이 포함되어 있습니다.데이터베이스 작업을 실행하는
show()
함수가 포함된MovieController.php
파일데이터베이스 작업 결과를 표시하는 HTML 코드가 포함된
browse_movies.blade.php
파일
다음 섹션에서는 Laravel 애플리케이션에서 파일을 편집하여 찾기 작업 코드 예제를 실행하고 예상 출력을 보는 방법을 설명합니다.
결과 건너뛰기 및 제한
이 예제에서는 year
값이 1999
인 문서를 쿼리합니다. 이 작업은 처음 2
일치하는 문서를 건너뛰고 총 3
개의 문서를 출력합니다.
쿼리를 지정하려면 다음 구문을 사용합니다.
$movies = Movie::where('year', 1999) ->skip(2) ->take(3) ->get();
browse_movies
뷰에서 쿼리 결과를 보려면 MovieController.php
파일 에서 show()
함수를 다음 코드와 유사하게 편집합니다.
class MovieController { public function show() { $movies = Movie::where('year', 1999) ->skip(2) ->take(3) ->get(); return view('browse_movies', [ 'movies' => $movies ]); } }
Title: Three Kings Year: 1999 Runtime: 114 IMDB Rating: 7.2 IMDB Votes: 130677 Plot: In the aftermath of the Persian Gulf War, 4 soldiers set out to steal gold that was stolen from Kuwait, but they discover people who desperately need their help. Title: Toy Story 2 Year: 1999 Runtime: 92 IMDB Rating: 7.9 IMDB Votes: 346655 Plot: When Woody is stolen by a toy collector, Buzz and his friends vow to rescue him, but Woody finds the idea of immortality in a museum tempting. Title: Beowulf Year: 1999 Runtime: 95 IMDB Rating: 4 IMDB Votes: 9296 Plot: A sci-fi update of the famous 6th Century poem. In a besieged land, Beowulf must battle against the hideous creature Grendel and his vengeance seeking mother.
쿼리 결과 정렬
지정된 필드의 값을 기준으로 쿼리 결과의 순서를 지정하려면 where()
메서드를 사용한 다음 orderBy()
메서드를 사용합니다.
결과에 오름차순 또는 내림차순 정렬 방향을 설정할 수 있습니다. 기본적으로 orderBy()
메서드는 제공된 필드 이름에 오름차순 정렬을 설정하지만 "asc"
을 두 번째 매개 변수로 전달하여 오름차순 정렬을 명시적으로 지정할 수 있습니다. 내림차순 정렬을 지정하려면 "desc"
를 두 번째 매개변수로 전달합니다.
문서의 특정 필드에 중복된 값이 포함된 경우 정렬할 필드를 더 지정하여 타이를 처리할 수 있습니다. 이렇게 하면 다른 필드에 고유한 값이 포함된 경우 일관된 결과가 보장됩니다.
이 예제에서는 countries
필드 값에 "Indonesia"
가 포함된 문서를 쿼리하고 먼저 year
필드에서 오름차순 정렬을 수행한 다음 title
필드에서 내림차순 정렬로 결과를 정렬합니다.
쿼리를 지정하려면 다음 구문을 사용합니다.
$movies = Movie::where('countries', 'Indonesia') ->orderBy('year') ->orderBy('title', 'desc') ->get();
browse_movies
뷰에서 쿼리 결과를 보려면 MovieController.php
파일 에서 show()
함수를 다음 코드와 유사하게 편집합니다.
class MovieController { public function show() { $movies = Movie::where('countries', 'Indonesia') ->orderBy('year') ->orderBy('title', 'desc') ->get(); return view('browse_movies', [ 'movies' => $movies ]); } }
Title: Joni's Promise Year: 2005 Runtime: 83 IMDB Rating: 7.6 IMDB Votes: 702 Plot: A film delivery man promises ... Title: Gie Year: 2005 Runtime: 147 IMDB Rating: 7.5 IMDB Votes: 470 Plot: Soe Hok Gie is an activist who lived in the sixties ... Title: Requiem from Java Year: 2006 Runtime: 120 IMDB Rating: 6.6 IMDB Votes: 316 Plot: Setyo (Martinus Miroto) and Siti (Artika Sari Dewi) are young married couple ... ...
팁
정렬에 대해 자세히 알아보려면 다음 리소스를 참조하세요.
MongoDB Server 매뉴얼 용어집의 기본 순서
순서 지정, 그룹화, 제한 및 오프셋 Laravel 문서에서
추가 정보
Laravel 통합을 사용하여 찾기 작업을 수행하는 방법을 보여주는 실행 가능한 코드 예제를 보려면 다음 사용 예제를 참조하세요.