MongoDB에서 $size 연산자를 사용하는 방법

MongoDB에서 $size 연산자를 사용하는 방법

2022-06-04 last update

5 minutes reading MongoDB
MongoDB는 여러 개의 조작 부호 집합을 지원하여 효과적이고 빠른 결과를 생성하는 데 도움이 된다.MongoDB에서 그룹 조작부호 클래스는 여러 개의 조작부호로 구성되어 있으며, 이 조작부호는 인용 그룹을 통해 문서를 검색합니다 $사이즈는 그중의 하나입니다.MongoDB의 $size 작업자는 특정 크기의 그룹 필드가 있는 문서를 가져오는 데 사용됩니다.$size는 수조만 처리하고 수치만 매개 변수로 받아들입니다.
이 정보 안내서에서는 MongoDB에서 $size 연산자의 사용법을 보여 줍니다.

$size 조작부호가 MongoDB에서의 작업 원리


우리는 MongoDB에서 $size 조작부호의 주요 기능을 다음과 같은 단계로 분해합니다. 우선, 사용자가 삽입한 크기에 따라 그룹 필드를 일치시킵니다.그런 다음 위의 단계를 충족하는 필드가 포함된 문서를 가져옵니다.
$size 연산자의 구문은 다음과 같이 정의됩니다.
{array-field: {$size: }}
여기서 배열 필드는 문서의 대상 필드의 이름을 가리키며, 배열의 길이는 길이와 일치하는 숫자를 나타냅니다.

MongoDB에서 $size 연산자를 사용하는 방법


이 설명서에서는 다음 데이터베이스와 컬렉션 이름을 사용합니다.
  • 여기에서 사용할 데이터베이스
  • 노트북이 데이터베이스에 연결된 집합 이름으로 사용됩니다
  • 예제를 자세히 검토하기 전에 다음 명령을 사용하여 노트북 컬렉션의 문서 목록을 확인합니다.
    > db.laptops.find().pretty()

    예 1: MongoDB에서 $size 연산자의 기본 사용 방법


    이 예제에서는 $size 연산자의 기본 사용법을 설명합니다.
    "laptops"집합의 문서를 참고하십시오. 아래에 언급된 명령은 그룹 필드의 길이가 3인 문서를 검색합니다.
    > db.laptops.find({Make: {$size: 3}}).pretty()

    Make 필드에 배열 길이가 3인 문서만 읽어들입니다.

    예 2: 네스트된 배열에 $size 연산자 사용


    $size의 기본 용도는 지정된 그룹 길이와 일치하는 출력을 가져오는 것이기 때문입니다.그것은 중첩된 그룹을 하나의 실체로 계산한다.예를 들어, 한 그룹은 플러그인 그룹과 값을 포함하고, $size 조작부호는 플러그인 그룹의 값을 계산하지 않지만, 그것을 하나의 값으로 계산합니다.따라서 상위 그룹의 총 길이는 "2"입니다.
    다음에 작성된 Mongo 쿼리는 배열 길이가 "2"인 문서를 검색합니다.
    > db.laptops.find({Make: {$size: 2}}).pretty()

    네스트된 배열에는 두 개의 값이 있지만 이는 하나의 값으로 간주되므로 부모 배열의 총 길이는 2입니다.

    예 3: 길이가 잘못된 $size 연산자 사용


    입력한 길이가 목표 집합의 길이와 일치하지 않으면 어떻게 해야 합니까?다음 명령을 사용하여 확인합니다.
    > db.laptops.find({Make: {$size: 5}}).pretty()

    이 명령을 실행하지만, 우리의 집합에는 길이가 "5"인 그룹이 없기 때문에 어떤 내용도 표시되지 않습니다.
    참고: 단, "$where"조작부호를 "$exists"조작부호와 함께 사용하면 결과를 얻을 수 있지만, 이 경우 실행 속도가 느릴 수 있습니다.아래에 언급된 명령은 배열 길이가 4보다 크거나 같은 문서를 표시합니다.
    > db.laptops.find({Make : {$exists:true}, $where:'this.Make.length>=4'}).pretty()

    결론


    MongoDB에서 배열 조회 조작자를 사용하여 배열을 참조하여 문서를 검색합니다.MongoDB에서 패턴을 처리하는 조작부호는 $size, $all 및 $elemMatch입니다.이 안내서는 $size 연산자를 목표로 합니다. 간단한 설명을 얻을 수 있습니다. 다음은 MongoDB에서 $size 연산자에 대한 예시입니다.그것의 주요 용도는 수조의 길이를 사용하여 특정 집합에서 문서를 얻는 것이다.$where와 $exists 조작부호를 사용해도 같은 기능을 얻을 수 있지만, 이것은 시간과 긴 문법이 필요하다.