Computer >> 컴퓨터 >  >> 프로그래밍 >> MongoDB

MongoDB에서 배열의 항목 개수를 세는 방법 완벽 가이드

MongoDB에서 배열에 포함된 항목의 개수를 확인하고 싶을 때는 length 속성을 사용하면 됩니다. 이 글에서는 실제 예제를 통해 배열 항목 개수를 계산하는 과정을 단계별로 살펴보겠습니다.

1. 문서가 포함된 컬렉션 생성하기

먼저 insertOne() 메서드를 사용하여 샘플 데이터가 담긴 컬렉션을 생성합니다. 각 문서에는 이름(Name)과 친구 목록(ListOfFriends) 배열이 포함되어 있습니다.

> db.demo440.insertOne(
...     {
...        "Name":"Chris",
...        "ListOfFriends":["John","Sam","Mike"]
...     }
... );
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5e78c63cbbc41e36cc3caeb5")
}
>
> db.demo440.insertOne(
...     {
...        "Name":"David",
...        "ListOfFriends":["Mike","Bob","Carol"]
...     }
... );
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5e78c63cbbc41e36cc3caeb6")
}

위 코드는 Chris와 David 두 사용자의 문서를 demo440 컬렉션에 삽입합니다. 각 사용자는 3명의 친구로 이루어진 배열을 가지고 있습니다.

2. find() 메서드로 전체 문서 조회하기

컬렉션에 저장된 모든 문서를 확인하려면 find() 메서드를 사용합니다.

> db.demo440.find();

이 명령을 실행하면 다음과 같은 결과가 출력됩니다.

{ "_id" : ObjectId("5e78c63cbbc41e36cc3caeb5"), "Name" : "Chris", "ListOfFriends" : [ "John", "Sam", "Mike" ] }
{ "_id" : ObjectId("5e78c63cbbc41e36cc3caeb6"), "Name" : "David", "ListOfFriends" : [ "Mike", "Bob", "Carol" ] }

3. 배열의 항목 개수 계산하기

이제 본격적으로 배열의 항목 개수를 세어 보겠습니다. findOne() 메서드로 특정 문서를 조회한 뒤, 해당 배열 필드에 length 속성을 붙여주면 됩니다.

> db.demo440.findOne({'Name':'David'}).ListOfFriends.length;

실행 결과는 다음과 같습니다.

3

David의 친구 목록(ListOfFriends) 배열에는 3개의 항목이 있으므로 결과값으로 3이 반환됩니다.

정리 및 추가 팁

MongoDB에서 배열 항목 개수를 세는 기본 원리는 다음과 같습니다.

  • findOne(): 조건에 맞는 단일 문서를 반환합니다.
  • .필드명: 반환된 문서에서 원하는 배열 필드에 접근합니다.
  • .length: JavaScript 배열의 표준 속성으로, 배열에 포함된 요소의 개수를 반환합니다.

만약 여러 문서의 배열 크기를 한 번에 집계해야 한다면, 애그리게이션 프레임워크의 $size 연산자나 $project 단계를 활용하는 것도 좋은 방법입니다. 또한 특정 크기의 배열을 가진 문서를 검색할 때도 $size 연산자를 사용할 수 있습니다.