
CollectionFind::groupBy는 데이터를 그룹화하는 메서드입니다. 그룹화 기준을 설정하기 위해서는 groupBy 메서드의 첫 번째 인자로 그룹화 기준이 되는 필드를 지정하면 됩니다.
예를 들어, "이름"이라는 필드를 기준으로 그룹화하고 싶다면, 다음과 같이 코드를 작성할 수 있습니다.
#hostingforum.kr
javascript
const data = [
{ 이름: "김유신", 나이: 30 },
{ 이름: "김춘추", 나이: 25 },
{ 이름: "장보고", 나이: 35 },
{ 이름: "김유신", 나이: 30 }
];
const groupedData = data.reduce((acc, current) => {
const key = current.이름;
if (!acc[key]) {
acc[key] = [];
}
acc[key].push(current);
return acc;
}, {});
console.log(groupedData);
이 코드는 데이터를 "이름" 기준으로 그룹화하고, 그룹화된 결과를 객체 형태로 반환합니다.
그룹화된 결과를 조회할 때, groupedData 객체를 사용할 수 있습니다. 예를 들어, "김유신"이라는 이름을 가진 데이터를 조회하고 싶다면, 다음과 같이 코드를 작성할 수 있습니다.
#hostingforum.kr
javascript
console.log(groupedData["김유신"]);
이 코드는 "김유신"이라는 이름을 가진 데이터를 객체 형태로 반환합니다.
그룹화된 결과를 조회할 때, 반복문이나 map 함수를 사용할 수 있습니다. 예를 들어, 다음과 같이 코드를 작성할 수 있습니다.
#hostingforum.kr
javascript
Object.keys(groupedData).forEach((key) => {
console.log(`이름: ${key}, 데이터: ${JSON.stringify(groupedData[key])}`);
});
이 코드는 그룹화된 결과를 이름과 데이터를 포함한 객체 형태로 출력합니다.
2025-06-24 09:55