문서 메뉴
문서 홈
/ / /
Laravel MongoDB

쿼리 빌더

이 페이지의 내용

  • 개요
  • 시작하기 전에
  • 일치하는 문서 조회
  • Where 메서드 예제
  • 논리적 조건부 연산
  • 범위 및 유형 검사
  • 텍스트 패턴 일치 예시
  • 고유 값 검색
  • 집계
  • 쿼리 결과 수정
  • 주문 결과 예시
  • 지정된 수의 결과 생략 예시
  • 결과 예제에 필드 및 배열 값의 하위 집합 표시
  • 결과 페이지 매김 예시
  • MongoDB 작업을 사용하여 데이터 검색
  • 필드 예시 포함
  • 모든 필드 포함 예시
  • 배열 크기 일치 예시
  • 데이터 유형 일치 예시
  • 모듈로 예제로 계산된 값 일치
  • 정규식 일치
  • MongoDB 쿼리 API 작업 실행 예시
  • 배열 요소 일치 예시
  • 커서 시간 초과 지정 예시
  • 지리 공간적 작업을 사용하여 위치 일치
  • 근거리 위치 예시
  • 영역 내 예시
  • 지오메트리 교차 예시
  • 주변 일치 항목에 대한 근접 데이터 예시
  • MongoDB 쓰기 작업을 사용하여 데이터 쓰기
  • 문서 예시 업로드
  • 숫자 값 증가 예제
  • 숫자 값 감소 예시
  • 배열 요소 추가 예제
  • 배열 요소 제거 예제
  • 필드 제거 예시

이 가이드에서는 Laravel 쿼리 빌더의 Laravel MongoDB 확장을 사용하여 MongoDB database 로 작업하는 방법을 배울 수 있습니다. 쿼리 빌더를 사용하면 단일 구문과 유창한 인터페이스를 사용하여 지원되는 모든 데이터베이스에 대한 쿼리를 작성할 수 있습니다.

참고

Laravel MongoDB는 유사한 데이터베이스 작업을 실행할 수 있는 Laravel의 쿼리 빌더와 Eloquent ORM을 확장합니다. Eloquent 모델을 사용하여 문서를 검색하는 방법에 대해 자세히 알아보려면 읽기 작업을 참조하세요.

Laravel은 데이터베이스 작업을 수행할 수 있는 쿼리 빌더 클래스 DB 에 액세스할 수 있는 파사드 를 제공합니다. 클래스에 대한 정적 인터페이스인 Facade는 구문을 더 간결하게 만들고 런타임 오류를 방지하며 테스트 가능성을 향상시킵니다.

Laravel MongoDB는 DB 메서드 table() 의 별칭을 collection() 메서드로 지정합니다. 명령 및 제약 조건을 지정하는 체인 메서드. 그런 다음 끝에 get() 메서드를 연결하여 메서드를 실행하고 결과를 검색합니다. 다음 예시는 쿼리 빌더 호출의 구문을 보여줍니다.

DB::collection('<collection name>')
// chain methods by using the "->" object operator
->get();

DB::collection() 메서드를 사용하기 전에 MongoDB를 애플리케이션의 기본 데이터베이스 연결로 지정해야 합니다. 데이터베이스 연결 설정에 대한 지침은 빠른 시작 의 MongoDB 연결 구성 단계를 참조하세요.

MongoDB가 애플리케이션의 기본 데이터베이스가 아닌 경우 DB::connection() 메서드를 사용하여 MongoDB 연결을 지정할 수 있습니다. 다음 코드에 표시된 대로 연결 이름을 connection() 메서드에 전달합니다.

$connection = DB::connection('mongodb');

이 가이드에서는 다음과 같은 유형의 쿼리 빌더 작업에 대한 예를 제공합니다.

  • 일치하는 문서 조회

  • 쿼리 결과 수정

  • MongoDB 작업을 사용하여 데이터 검색

  • MongoDB 쓰기 작업을 사용하여 데이터 쓰기

이 가이드의 코드 예제를 실행하려면 빠른 시작 튜토리얼을 완료하여 웹 애플리케이션을 구성하고, 샘플 데이터 세트를 MongoDB deployment에 로드하고, 컨트롤러 메서드에서 예제 코드를 실행합니다. 예상 코드 출력을 JSON 문서로 보려면 빠른 시작의 선택 사항인 결과를 JSON 문서로 보기 단계에 표시된 toJson() 메서드를 사용합니다.

쿼리 빌더를 사용하여 읽기 및 쓰기 작업을 수행하려면 Illuminate\Support\Facades\DB 파사드를 가져오고 쿼리를 작성합니다.

이 섹션에는 다음 연산자 카테고리의 읽기 작업에 대한 쿼리 빌더 예제가 포함되어 있습니다.

다음 예시에서는 where() 쿼리 빌더 메서드를 사용하여 movies 컬렉션에서 정확히 9.3imdb.rating 필드 값을 포함하는 문서를 검색하는 방법을 보여 줍니다. 쿼리에서 반환된 결과를 보려면 VIEW OUTPUT 버튼을 클릭합니다.

$result = DB::connection('mongodb')
->collection('movies')
->where('imdb.rating', 9.3)
->get();

이 섹션의 예제에서는 다음과 같은 논리적 조건부 작업을 수행하는 데 사용할 수 있는 쿼리 빌더 구문을 보여줍니다.

다음 예제에서는 orWhere() 쿼리 빌더 메서드를 체인으로 연결하여 movies 컬렉션에서 1955year 값과 일치하거나 title"Back to the Future" 과 일치하는 문서를 검색하는 방법을 보여 줍니다.

$result = DB::connection('mongodb')
->collection('movies')
->where('year', 1955)
->orWhere('title', 'Back to the Future')
->get();

다음 예에서는 where() 쿼리 빌더 메서드를 체인으로 연결하여 movies 컬렉션에서 8.5 보다 큰 imdb.rating 값과 1940 보다 작은 year 값 모두와 일치하는 문서를 검색하는 방법을 보여 줍니다.

$result = DB::connection('mongodb')
->collection('movies')
->where('imdb.rating', '>', 8.5)
->where('year', '<', 1940)
->get();

다음 예에서는 whereNot() 쿼리 빌더 메서드를 호출하여 movies 컬렉션에서 2 보다 큰 imdb.rating 값이 없는 문서와 일치하는 문서를 검색하는 방법을 보여 줍니다. 이는 imdb.rating2 이하인 모든 문서를 일치시키는 것과 같습니다.

$result = DB::connection('mongodb')
->collection('movies')
->whereNot('imdb.rating', '>', 2)
->get();

다음 예제에서는 where() 쿼리 빌더 메서드를 연결하여 movies 컬렉션에서 다음 두 조건과 모두 일치하는 문서를 검색하는 방법을 보여 줍니다. 이 예에서는 where() 쿼리 빌더 메서드의 첫 번째 매개 변수로 클로저를 전달하여 논리적 OR 그룹을 그룹화합니다.

  • imdb.rating 값이 다음보다 큼 8.5

  • year 값이 1986 또는 1996경우

$result = DB::connection('mongodb')
->collection('movies')
->where('imdb.rating', '>', 8.5)
->where(function (Builder $query) {
return $query
->where('year', 1986)
->orWhere('year', 1996);
})->get();

이 섹션의 예제에서는 다음 범위 쿼리 및 유형 검사 작업을 사용하여 값을 일치시키는 데 사용할 수 있는 쿼리 빌더 구문을 보여줍니다.

다음 예제에서는 whereBetween() 쿼리 빌더 메서드를 사용하여 9 에서 9.5 사이의 imdb.rating 값을 포함하는 movies 컬렉션에서 문서를 조회하는 방법을 보여 줍니다.

$result = DB::connection('mongodb')
->collection('movies')
->whereBetween('imdb.rating', [9, 9.5])
->get();

다음 예에서는 whereNull() 쿼리 빌더 메서드를 사용하여 runtime 값 또는 필드가 생략된 movies 컬렉션에서 문서를 검색하는 방법을 보여 줍니다.

$result = DB::connection('mongodb')
->collection('movies')
->whereNull('runtime')
->get();

다음 예제에서는 whereIn() 쿼리 빌더 메서드를 사용하여 지정된 집합의 title 값 중 하나 이상과 일치하는 movies 컬렉션에서 문서를 검색하는 방법을 보여 줍니다.

$result = DB::collection('movies')
->whereIn('title', ['Toy Story', 'Shrek 2', 'Johnny English'])
->get();

다음 예제에서는 whereDate() 쿼리 빌더 메서드를 사용하여 released 필드에 지정된 2010-1-15 날짜와 일치하는 movies 컬렉션의 문서를 검색하는 방법을 보여 줍니다.

$result = DB::connection('mongodb')
->collection('movies')
->whereDate('released', '2010-1-15')
->get();

다음 예제에서는 like 쿼리 연산자를 where() 쿼리 빌더 메서드와 함께 사용하여 지정된 텍스트 패턴을 사용하여 movies 컬렉션에서 문서를 검색하는 방법을 보여 줍니다.

텍스트 패턴에는 다음 와일드카드 문자가 혼합된 텍스트가 포함될 수 있습니다.

  • % 0개 이상의 문자와 일치

  • _ 단일 문자와 일치하는

$result = DB::collection('movies')
->where('title', 'like', '%spider_man%')
->get();

다음 예제에서는 distinct() 쿼리 빌더 메서드를 사용하여 movies 컬렉션에 있는 문서에 대해 year 필드의 다양한 값을 모두 조회하는 방법을 보여 줍니다.

$result = DB::collection('movies')
->distinct('year')->get();

이 섹션의 예제에서는 애그리게이션 을 수행하는 데 사용할 수 있는 쿼리 빌더 구문을 보여줍니다. 애그리게이션은 쿼리 결과 데이터 세트에서 값을 계산하는 작업입니다. 애그리게이션을 사용하여 다음 정보를 계산하고 반환할 수 있습니다.

다음 예제에서는 groupBy() 쿼리 빌더 메서드를 사용하여 runtime 필드의 공유 값별로 그룹화된 문서 데이터를 검색하는 방법을 보여 줍니다. 이 예에서는 Grated 값을 포함하고 각 고유 runtime 값에 대해 한 영화의 title 필드를 포함하는 movies 컬렉션의 문서를 일치시키기 위해 다음 작업을 연결합니다.

  • where() 메서드를 사용하여 "G"rated 필드 값을 포함하는 문서만 일치시킵니다.

  • groupBy() 메서드를 사용하여 _id 필드에 할당된 runtime 필드의 고유 값을 기준으로 데이터를 그룹화합니다.

  • orderBy() 메서드를 사용하여 runtime 필드를 기준으로 그룹을 정렬합니다.

  • get() 메서드에 지정하여 그룹화된 결과의 마지막 문서에서 title 데이터를 반환합니다.

groupBy() 메서드는 MongoDB $group 애그리게이션 연산자와 $last 축적자 연산자를 호출합니다. 이러한 연산자에 대해 자세히 알아보려면 MongoDB Server 매뉴얼에서 $group(애그리게이션) 을 참조하세요.

$result = DB::collection('movies')
->where('rated', 'G')
->groupBy('runtime')
->orderBy('runtime', 'asc')
->get(['title']);

다음 예에서는 count() 쿼리 빌더 메서드를 사용하여 movies 컬렉션에 포함된 문서 수를 반환하는 방법을 보여 줍니다.

$result = DB::collection('movies')
->count();

다음 예에서는 max() 쿼리 빌더 메서드를 사용하여 전체 movies 컬렉션에서 runtime 필드의 가장 높은 숫자 값을 반환하는 방법을 보여 줍니다.

$result = DB::collection('movies')
->max('runtime');

다음 예에서는 min() 쿼리 빌더 메서드를 사용하여 전체 movies 컬렉션에서 year 필드의 가장 낮은 숫자 값을 반환하는 방법을 보여 줍니다.

$result = DB::collection('movies')
->min('year');

다음 예제에서는 avg() 쿼리 빌더 메서드를 사용하여 전체 movies 컬렉션에서 imdb.rating 값의 수치 평균 또는 산술 평균을 반환하는 방법을 보여 줍니다.

$result = DB::collection('movies')
->avg('imdb.rating');

다음 예제에서는 sum() 쿼리 빌더 메서드를 사용하여 전체 movies 컬렉션에서 imdb.votes 값의 합계를 숫자로 반환하는 방법을 보여 줍니다.

$result = DB::collection('movies')
->sum('imdb.votes');

다음 예는 쿼리와 일치하는 결과에서 데이터를 애그리게이션하는 방법을 보여줍니다. 이 쿼리는 2000 년 이후의 모든 영화를 일치시키고 avg() 메서드를 사용하여 해당 일치 항목의 imdb.rating 평균값을 계산합니다.

$result = DB::collection('movies')
->where('year', '>', 2000)
->avg('imdb.rating');

이 섹션에는 쿼리 결과의 순서와 형식을 수정하는 다음 함수에 대한 쿼리 빌더 예제가 포함되어 있습니다.

다음 예에서는 orderBy() 쿼리 빌더 메서드를 사용하여 title 필드에 지정된 필터와 일치하는 결과를 imdb.rating 값을 기준으로 내림차순으로 정렬하는 방법을 보여 줍니다.

$result = DB::collection('movies')
->where('title', 'like', 'back to the future%')
->orderBy('imdb.rating', 'desc')
->get();

다음 예에서는 skip() 쿼리 빌더 메서드를 사용하여 title 필드에 지정된 필터와 일치하는 처음 4개의 결과를 생략하고 year 값을 기준으로 오름차순으로 정렬하는 방법을 보여 줍니다.

$result = DB::collection('movies')
->where('title', 'like', 'star trek%')
->orderBy('year', 'asc')
->skip(4)
->get();

다음 예에서는 project() 쿼리 빌더 메서드를 사용하여 imdb.rating 값이 8.5 보다 큰 문서를 일치시키고 다음 필드 값만 반환하는 방법을 보여 줍니다.

  • 영화 제목 title

  • cast 배열 필드의 두 번째 값부터 네 번째 값까지(있는 경우)

  • 자동으로 포함되는 문서 _id 필드

$result = DB::collection('movies')
->where('imdb.rating', '>', 8.5)
->project([
'title' => 1,
'cast' => ['$slice' => [1, 3]],
])
->get();

다음 예제에서는 paginate() 쿼리 빌더 메서드를 사용하여 전체 movie 컬렉션을 15 문서의 불연속적인 결과 세트로 나누는 방법을 보여 줍니다. 이 예제에는 imdb.votes 필드를 기준으로 결과를 내림차순으로 정렬하는 정렬 순서와 결과에 특정 필드만 포함하는 프로젝션도 포함되어 있습니다.

$resultsPerPage = 15;
$projectionFields = ['title', 'runtime', 'imdb.rating'];
$result = DB::collection('movies')
->orderBy('imdb.votes', 'desc')
->paginate($resultsPerPage, $projectionFields);

페이지 매김에 대해 자세히 알아보려면 페이지 매김 쿼리 빌더 결과 를 참조하세요. Laravel 문서에서 확인할 수 있습니다.

이 섹션에는 다음과 같은 MongoDB 관련 쿼리 작업을 사용하는 방법을 보여주는 쿼리 빌더 예제가 포함되어 있습니다.

다음 예에서는 exists() 쿼리 빌더 메서드를 사용하여 random_review 필드가 포함된 문서를 일치시키는 방법을 보여 줍니다.

$result = DB::collection('movies')
->exists('random_review', true);

이 쿼리 연산자에 대해 자세히 알아보려면 MongoDB Server 매뉴얼에서 $exists 를 참조하세요.

다음 예에서는 all 쿼리 연산자를 where() 쿼리 빌더 메서드와 함께 사용하여 지정된 모든 필드가 포함된 문서를 일치시키는 방법을 보여 줍니다.

$result = DB::collection('movies')
->where('movies', 'all', ['title', 'rated', 'imdb.rating'])
->get();

이 쿼리 연산자에 대해 자세히 알아보려면 MongoDB Server 매뉴얼에서 $all 을 참조하세요.

다음 예에서는 정확히 5개의 요소로 구성된 배열을 포함하는 directors 필드가 포함된 문서와 일치하도록 where() 쿼리 빌더 메서드와 함께 size 쿼리 연산자를 전달하는 방법을 보여 줍니다.

$result = DB::collection('movies')
->where('directors', 'size', 5)
->get();

이 쿼리 연산자에 대해 자세히 알아보려면 MongoDB Server 매뉴얼에서 $size 를 참조하세요.

다음 예제에서는 type 쿼리 연산자를 where() 쿼리 빌더 메서드와 함께 전달하여 released 필드의 배열 데이터 유형에 해당하는 4 유형 값이 포함된 문서를 일치시키는 방법을 보여줍니다.

$result = DB::collection('movies')
->where('released', 'type', 4)
->get();

유형 코드 및 쿼리 연산자에 대해 자세히 알아보려면 MongoDB Server 매뉴얼의 $type 을 참조하세요.

다음 예에서는 year 필드의 짝수 값과 일치하는 표현식 year % 2 == 0 을 사용하여 문서를 일치시키기 위해 where() 쿼리 빌더 메서드와 함께 mod 쿼리 연산자를 전달하는 방법을 보여 줍니다.

$result = DB::collection('movies')
->where('year', 'mod', [2, 0])
->get();

이 쿼리 연산자에 대해 자세히 알아보려면 MongoDB Server 매뉴얼에서 $mod 를 참조하세요.

다음 예에서는 지정된 정규 표현식과 일치하는 title 필드가 포함된 문서를 일치시키기 위해 where() 쿼리 빌더 메서드와 함께 REGEX 쿼리 연산자를 전달하는 방법을 보여 줍니다.

$result = DB::connection('mongodb')
->collection('movies')
->where('title', 'REGEX', new Regex('^the lord of .*', 'i'))
->get();

MongoDB 의 정규 표현식 쿼리에 대해 자세히 알아보려면 MongoDB 서버 매뉴얼에서 $regex 를 참조하세요.

다음 예제에서는 whereRaw() 쿼리 빌더 메서드를 사용하여 MongoDB 쿼리 API 구문으로 작성된 쿼리 작업을 실행하는 방법을 보여 줍니다.

$result = DB::collection('movies')
->whereRaw([
'imdb.votes' => ['$gte' => 1000 ],
'$or' => [
['imdb.rating' => ['$gt' => 7]],
['directors' => ['$in' => [ 'Yasujiro Ozu', 'Sofia Coppola', 'Federico Fellini' ]]],
],
])->get();

다음 코드는 이에 상응하는 MongoDB 쿼리 API 구문을 보여줍니다.

db.movies.find({
"imdb.votes": { $gte: 1000 },
$or: [{
imdb.rating: { $gt: 7 },
directors: { $in: [ "Yasujiro Ozu", "Sofia Coppola", "Federico Fellini" ] }
}]});

MongoDB MongoDB Query API MongoDB API에 API 대해 자세히 알아보려면 MongoDB Server 매뉴얼의 참조하세요.

다음 예에서는 지정된 쿼리의 조건 중 하나 이상과 일치하는 배열 요소가 포함된 문서를 일치시키기 위해 where() 쿼리 빌더 메서드와 함께 elemMatch 쿼리 연산자를 전달하는 방법을 보여 줍니다.

$result = DB::collection('movies')
->where('writers', 'elemMatch', ['$in' => ['Maya Forbes', 'Eric Roth']])
->get();

MongoDB 의 정규 표현식 쿼리에 대해 자세히 알아보려면 MongoDB 서버 매뉴얼에서 $elemMatch 연산자 를 참조하세요.

다음 예제에서는 timeout() 메서드를 사용하여 커서 작업이 완료될 때까지 대기할 최대 기간을 지정하는 방법을 보여 줍니다.

$result = DB::collection('movies')
->timeout(2) // value in seconds
->where('year', 2001)
->get();

참고

이 설정은 maxTimeMS 값을 밀리초가 아닌 초 단위로 지정합니다. maxTimeMS 값에 대해 자세히 알아보려면 PHP 라이브러리 문서에서 MongoDBCollection::find() 을 참조하세요.

이 섹션의 예제에서는 GeoJSON 또는 좌표 쌍 데이터에 대한 지리 공간적 쿼리를 수행하여 다음 유형의 위치를 검색하는 데 사용할 수 있는 쿼리 빌더 구문을 보여 줍니다.

중요

MongoDB에서 GeoJSON 쿼리를 수행하려면 컬렉션에 2d 또는 2dsphere 인덱스를 생성해야 합니다. 지리 공간적 인덱스를 만드는 방법을 알아보려면 스키마 빌더 가이드의 지리 공간적 인덱스 만들기 섹션을 참조하세요.

GeoJSON 가 지원하는 객체에 대해 MongoDB 자세히 알아보려면 MongoDB Server 매뉴얼에서 객체 를 GeoJSON 참조하세요.

다음 예에서는 near 쿼리 연산자를 where() 쿼리 빌더 메서드와 함께 사용하여 GeoJSON 포인트 객체에서 최대 50 미터 떨어진 위치가 포함된 문서를 일치시키는 방법을 보여 줍니다.

$results = DB::collection('theaters')
->where('location.geo', 'near', [
'$geometry' => [
'type' => 'Point',
'coordinates' => [
-86.6423,
33.6054,
],
],
'$maxDistance' => 50,
])->get();

이 연산자에 대해 자세히 알아보려면 MongoDB Server 매뉴얼에서 $near 연산자 를 참조하세요.

다음 예제에서는 geoWithin 쿼리 연산자를 where() 쿼리 빌더 메서드와 함께 사용하여 지정된 Polygon GeoJSON 객체의 경계 내에 있는 위치가 포함된 문서를 일치시키는 방법을 보여 줍니다.

$results = DB::collection('theaters')
->where('location.geo', 'geoWithin', [
'$geometry' => [
'type' => 'Polygon',
'coordinates' => [
[
[-72, 40],
[-74, 41],
[-72, 39],
[-72, 40],
],
],
],
])->get();

다음 예제에서는 geoInstersects 쿼리 연산자를 where() 쿼리 빌더 메서드와 함께 사용하여 지정된 LineString GeoJSON 객체와 교차하는 위치가 포함된 문서를 일치시키는 방법을 보여 줍니다.

$results = DB::collection('theaters')
->where('location.geo', 'geoIntersects', [
'$geometry' => [
'type' => 'LineString',
'coordinates' => [
[-73.600525, 40.74416],
[-72.600525, 40.74416],
],
],
])->get();

다음 예에서는 geoNear 애그리게이션 연산자를 raw() 쿼리 빌더 메서드와 함께 사용하여 각 일치 항목에 대한 근접성 정보와 같은 메타데이터를 반환하는 애그리게이션을 수행하는 방법을 보여 줍니다.

$results = DB::collection('theaters')->raw(
function (Collection $collection) {
return $collection->aggregate([
[
'$geoNear' => [
'near' => [
'type' => 'Point',
'coordinates' => [-118.34, 34.10],
],
'distanceField' => 'dist.calculated',
'maxDistance' => 500,
'includeLocs' => 'dist.location',
'spherical' => true,
],
],
]);
},
)->toArray();

이 애그리게이션 연산자에 대해 자세히 알아보려면 MongoDB Server 매뉴얼에서 $geoNear 연산자 를 참조하세요.

이 섹션에는 다음과 같은 MongoDB 전용 쓰기 작업을 사용하는 방법을 보여주는 쿼리 빌더 예제가 포함되어 있습니다.

다음 예에서는 update() 쿼리 빌더 메서드 및 upsert 옵션을 사용하여 일치하는 문서를 업데이트하거나 지정된 데이터가 없는 경우 해당 문서를 삽입하는 방법을 보여 줍니다. upsert 옵션을 true 로 설정했는데 문서가 존재하지 않는 경우 명령은 데이터와 where() 쿼리 작업에 지정된 title 필드 및 값을 모두 삽입합니다.

$result = DB::collection('movies')
->where('title', 'Will Hunting')
->update(
[
'plot' => 'An autobiographical movie',
'year' => 1998,
'writers' => [ 'Will Hunting' ],
],
['upsert' => true],
);

update() 쿼리 빌더 메서드는 작업이 업데이트하거나 삽입한 문서 수를 반환합니다.

다음 예에서는 increment() 쿼리 빌더 메서드를 사용하여 일치하는 문서의 imdb.votes 필드 값에 3000 을(를) 추가하는 방법을 보여 줍니다.

$result = DB::collection('movies')
->where('title', 'Field of Dreams')
->increment('imdb.votes', 3000);

increment() 쿼리 빌더 메서드는 작업이 업데이트한 문서 수를 반환합니다.

다음 예에서는 decrement() 쿼리 빌더 메서드를 사용하여 일치하는 문서의 imdb.rating 필드 값에서 0.2 를 빼는 방법을 보여 줍니다.

$result = DB::collection('movies')
->where('title', 'Sharknado')
->decrement('imdb.rating', 0.2);

decrement() 쿼리 빌더 메서드는 작업이 업데이트한 문서 수를 반환합니다.

다음 예에서는 push() 쿼리 빌더 메서드를 사용하여 일치하는 문서의 cast 배열 필드에 "Gary Cole" 을(를) 추가하는 방법을 보여 줍니다.

$result = DB::collection('movies')
->where('title', 'Office Space')
->push('cast', 'Gary Cole');

push() 쿼리 빌더 메서드는 작업이 업데이트한 문서 수를 반환합니다.

다음 예에서는 pull() 쿼리 빌더 메서드를 사용하여 쿼리와 일치하는 문서의 genres 필드에서 "Adventure" 값을 제거하는 방법을 보여 줍니다.

$result = DB::collection('movies')
->where('title', 'Iron Man')
->pull('genres', 'Adventure');

pull() 쿼리 빌더 메서드는 작업이 업데이트한 문서 수를 반환합니다.

다음 예에서는 unset() 쿼리 빌더 메서드를 사용하여 쿼리와 일치하는 문서에서 tomatoes.viewer 필드와 값을 제거하는 방법을 보여 줍니다.

$result = DB::collection('movies')
->where('title', 'Final Accord')
->unset('tomatoes.viewer');

unset() 쿼리 빌더 메서드는 작업이 업데이트한 문서 수를 반환합니다.

돌아가기

스키마 빌더

다음

사용자 인증