MongoDB의 집계: 파이프라인 및 구문
게시 됨: 2020-09-23목차
소개
MongoDB는 대용량 데이터 저장 매체의 한 형태입니다. 문서 쿼리가 있는 비관계형 데이터베이스 역할을 합니다. MongoDB의 기본 단위는 MongoDB 컬렉션에 있는 문서의 키-값 쌍입니다. 2000년대 초반부터 매우 유익한 매체가 되었습니다.
MongoDB의 집계는 하나 이상의 MongoDB 컬렉션에 있는 문서에 대해 다양한 계산 작업을 수행할 수 있게 해주는 프레임워크입니다. 다른 문서에서 해석을 위해 보고서 또는 소수의 데이터 메트릭을 생성하는 효과적인 방법입니다. 이 프레임워크는 여러 문서를 집계하여 통합되고 결합된 결과를 형성하기 때문에 MongoDB로 명명되었습니다.
MongoDB 의 집계 에는 주로 파이프라인 프레임워크가 포함됩니다. 파이프라인의 기본 기본 개념은 MongoDB 컬렉션에서 입력을 가져오고 문서가 일련의 단계를 거쳐 최종적으로 통합 출력을 생성한다는 것입니다. 이 아이디어는 Bash와 같은 Linux 파이프라인 개념과 매우 유사합니다.
MongoDB의 주요 기능
이 데이터베이스 시스템이 널리 사용되는 데에는 여러 가지 이유가 있습니다. 몇 가지 특별한 기능은 다음과 같습니다.
- NoSQL 데이터베이스인 MongoDB는 사용하기에 매우 유연합니다. 문서 중심입니다.
- 키-값 쌍은 문서 내부의 필드를 색인화할 수 있습니다. 이것은 MongoDB의 매우 특별한 기능입니다.
- MongoDB는 샤딩 개념을 사용하여 큰 데이터 세트를 작은 인스턴스로 분할합니다. 이러한 방식으로 인스턴스의 균형을 유지하면서 여러 서버에서 실행할 수 있습니다.
- MongoDB의 쿼리는 문서의 특정 필드를 반환할 수 있습니다.
읽기: MongoDB 프로젝트 아이디어 및 주제
MongoDB의 집계가 유용한 이유는 무엇입니까?
수백만 개의 포함된 파일을 처리해야 하는 경우가 있습니다. 그러나 이로 인해 서버 스택에 오버플로가 발생하고 프로세스가 종료될 수 있습니다. 많은 수의 포함된 파일을 처리해야 하는 제약 조건은 파일을 함께 연결하여 검색 프로세스의 향상에 탐닉했습니다.

따라서 집계 연산은 여러 단계의 문서를 계산하고 결과적으로 누적 효과를 보여주고 반환하도록 설계되었습니다. 결과 생성의 일치 기술은 엄청난 수의 파일 문제에 혁명을 일으켰습니다. 따라서 집계 프레임워크가 필수적입니다.
이 프레임워크는 여러 파일에 대해 동시에 많은 쿼리 작업을 수행할 수 있습니다. 관계형 데이터베이스 쿼리와 매우 유사합니다.
확인: 가장 일반적인 MongoDB 명령
집계 파이프라인이란 무엇입니까?
파이프라인은 하나의 통합된 목표를 함께 해결하는 별도의 작업을 수행하도록 설계된 연속 단계의 프레임워크입니다. 여기 MongoDB Aggregation 에서 이 프레임워크는 계산 프로세스를 제공하고 문서를 조작합니다. MongoDB 컬렉션의 많은 문서가 입력으로 제공되며 방법론에 따라 다릅니다. 특정 작업은 각 단계에서 수행됩니다.
나중에 모든 결과가 통합되고 누적 메트릭이 계산되어 출력으로 표시됩니다. 출력은 관계형 데이터베이스, 즉 추가로 작업할 문서 스트림에서 제공되는 쿼리 출력과 매우 유사합니다. 나중에 웹사이트 작성의 보고서 생성에 사용할 수 있습니다.
따라서 각 단계는 여기에서 처리 장치 역할을 합니다. 모든 내부 단계에서 이전 단계의 출력이 입력 역할을 합니다. 또한 초기 단계에서 추가 필터를 추가할 수 있습니다. 스테이지는 종종 많은 하이퍼파라미터로 설계됩니다. 이를 위해 일부 노브 또는 튜닝 버튼을 제어하기 위해 제공됩니다. 이러한 초매개변수를 변경하면 해당 단계의 결과에 영향을 줍니다. 이것은 수행에 관심이 있는 작업을 매개변수화했습니다. 이러한 방식으로 스테이지는 일반 작업을 수행합니다.
특정 파이프라인에 유사한 유형의 스테이지를 여러 번 포함하려는 상황이 있을 수 있습니다. 예를 들어, 전체 컬렉션이 통과하지 못하도록 초기 부분에 필터가 있을 수 있습니다. 그러나 나중에 일부 처리 후에 다른 기준에 대해 다른 필터가 필요할 수 있습니다.
통사론
집계 쿼리가 빌드되는 특정 형식이 있습니다. 코드의 구문과 형식은 다음과 같습니다.
db.Collection_Name.aggregate([
{ $match: {“_id_field_”: 값}}
{ $그룹: {“_id_field_”: 값}}
{ $sort: {“_id_field_”: 값}}
]);
파이프라인 명령

- 구조 명령 : 구조 명령은 문서를 구성하고 데이터 조작 작업에 적합하게 만드는 데 도움이 됩니다. 매우 자주 사용되는 두 가지 주요 구조 명령이 있습니다.
- 매칭 : 필터링 단계입니다. 이 단계는 신경 쓰지 않는 문서를 잘라냅니다. 이 명령은 SQL의 WHERE 기능과 매우 유사합니다.
db.customers.aggregate([
{ $match: {“zip”: 700068}}
]);
위의 코드는 MongoDB 컬렉션에서 700068 우편번호에 거주하는 모든 고객의 문서를 반환합니다.
1. 그룹핑 : 문서 필터링 후 특정 그룹핑이 필요합니다. 이를 통해 전체 컬렉션의 하위 집합을 형성할 수 있습니다. 또한 문서는 유사한 공통점에 클러스터링될 수 있습니다. 클러스터링은 유사한 작업을 함께 수행하는 데 도움이 됩니다.
db.customers.aggregate([
{ $match: {“zip”: 700068}}
{
$그룹: {
_id: null,
세다: {
$sum: 1
}
}
]);
$group을 사용하면 문서 클러스터링이 변환 작업을 수행할 수 있습니다. _id 명령은 데이터 필드 보존을 처리합니다.
2. 정렬 : 특정 쿼리 필드를 기준으로 문서를 오름차순 또는 내림차순으로 정렬하는 데 도움이 됩니다.
db.customers.aggregate([
{ $match: {“zip”: 700068}}
{
$그룹: {
_id: null,
세다: {
$sum: 1
}
}
{
$정렬: {
{"zip": -1}
}
}
]);
우편번호를 기준으로 문서를 정렬합니다.
- 운영 명령 : MongoDB Aggregation 에는 데이터 작업을 수행하는 데 도움 이 되는 많은 운영 명령이 있습니다 . 가장 중요한 몇 가지 명령은 다음과 같습니다.
- 합계($sum) : 문서의 모든 값을 더한 값을 반환합니다.
- 최대값($max) : 모든 문서에서 특정 변수의 최대값을 출력합니다.
- 최소값($min) : 변수의 최소값을 반환합니다.
- Average($avg) : 각 문서의 값의 평균을 계산합니다.
- 푸시($push) : 배열에 값을 추가합니다.
- First($first) : 컬렉션에서 첫 번째 문서를 반환합니다.
- 마지막($last) : 컬렉션의 마지막 문서를 반환합니다.
- Set에 추가($addToSet) : 문서의 배열을 복제하지 않고 값을 추가합니다.
또한 읽기: MongoDB의 미래 범위

마무리
빅데이터 시대에 비관계형 데이터베이스는 대규모 샘플 집합을 처리하는 데 매우 유용합니다. 현재 데이터 과학 및 개발 분야는 MongoDB 사용에 익숙합니다. 이 프레임워크는 Java, JavaScript, Python 및 기타 여러 언어와 같이 널리 사용되는 언어와 함께 사용할 수 있습니다. MongoDB에 대한 지식과 집계 프레임워크에 대한 건전한 손이 있으면 꿈의 경력이 될 수 있습니다.
이미 MongoDB 에 관심이 생겼다면 통합 및 일부 온라인 과정을 찾고, 일하는 전문가를 위해 설계되었으며 7개 이상의 사례 연구 및 프로젝트를 제공하고 14개 프로그래밍 언어 및 도구, 실용적인 실습 워크샵 등을 제공하는 빅 데이터 프로그램의 소프트웨어 개발 전문화 PG 디플로마를 확인하십시오. 최고의 기업에서 400시간 이상의 엄격한 학습 및 취업 지원.
이 경우 이 과정은 데이터 구조 및 알고리즘, Java 프로그래밍, 데이터베이스 기초, HTML, CSS, JavaScript, Angular, Java, 객체 지향 분석 및 디자인에 관한 모든 지식을 얻는 데 확실히 도움이 될 것입니다.
이 과정에서는 250시간 이상의 온라인 교육, 업계 전문가와의 일대일 세션 등을 이용할 수 있습니다. 이 외에도 upGrad의 주제별 전문가가 코스를 큐레이팅하며 최고의 IT 기업, 제품 기반 기업 및 스타트업의 배치 기회를 제공받을 것입니다.
세계 최고의 대학에서 온라인으로 소프트웨어 개발 과정 을 배우십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.

