Docs Menu
Docs Home
/
VS 코드용 MongoDB
/

VS Code 로 집계 파이프라인 실행

이 페이지의 내용

  • 플레이그라운드를 열어 집계 파이프라인 실행
  • Visual Studio Code Command Palette 를 엽니다.
  • 'MongoDB 플레이그라운드 생성' 명령을 찾아 실행합니다.
  • 집계 파이프라인 생성 및 실행
  • 예시

VS Code 확장의 컬렉션에서 집계 파이프라인 을 실행 수 있습니다. 집계 파이프라인은 데이터를 프로세스 하고 계산된 결과를 반환하는 단계 로 구성됩니다.

집계가 일반적으로 사용되는 경우는 다음과 같습니다.

  • 주어진 표현식을 기준으로 데이터를 그룹화.

  • 여러 필드를 기반으로 결과를 계산하고 해당 결과를 새 필드에 저장.

  • 데이터를 필터링하여 지정된 기준과 일치하는 하위 집합을 반환.

  • 데이터 정렬.

집계 을 실행 하면 VS Code 확장이 Visual Studio Code 내에서 직접 결과를 편리하게 출력합니다.

MongoDB 플레이그라운드에서 집계 파이프라인을 실행 수 있습니다. MongoDB Playgrounds are JavaScript environments where you can prototype queries, aggregations, and MongoDB commands with helpful syntax highlighting.

새 MongoDB 플레이그라운드를 열려면 다음을 수행합니다.

1

Visual Studio Code에서 다음 키 조합 중 하나를 누릅니다.

  • Control + Shift + P Windows 또는 Linux.

  • Command + Shift + P macOS에서.

Command Palette를 사용하면 명령과 키보드 단축키에 빠르게 액세스할 수 있습니다.

2

Command Palette 검색 창을 사용하여 명령을 검색 합니다. VS Code 확장과 관련된 모든 명령 앞에는 MongoDB: 가 붙습니다.

MongoDB: Create MongoDB Playground 명령을 실행 하면 VS Code 확장이 몇 가지 명령으로 미리 구성된 기본값 플레이그라운드 템플릿을 엽니다.

참고

템플릿 없이 새 플레이그라운드를 로드하려면 Use Default Template For Playground 설정을 비활성화합니다. VS Code 확장 설정에 학습 보려면 Visual Studio Code 설정을 참조하세요.

집계 파이프라인 을 만들려면 플레이그라운드에서 다음 구문을 사용하세요.

db.<collection>.aggregate([
{
<$stage1>
},
{
<$stage2>
}
...
])

플레이그라운드를 실행하려면 플레이그라운드 보기의 오른쪽 상단에서 Play Button을 누르세요. VS Code 확장은 플레이그라운드를 분할하고 플레이그라운드 결과를 Playground Results.json 창에 출력합니다. 분할 보기를 비활성화한 경우 VS Code 확장은 플레이그라운드 결과를 새 탭에 출력합니다.

이 예제를 실행하려면 로드된 템플릿 플레이그라운드가 있다면 이를 지우고 빈 MongoDB 플레이그라운드로 시작하세요.

컬렉션 에 샘플 데이터를 삽입하고 해당 데이터를 집계하는 다음 플레이그라운드를 가정해 보겠습니다.

use("test");
db.sales.insertMany([
{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : new Date("2014-03-01T08:00:00Z") },
{ "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : new Date("2014-03-01T09:00:00Z") },
{ "_id" : 3, "item" : "xyz", "price" : 5, "quantity" : 10, "date" : new Date("2014-03-15T09:00:00Z") },
{ "_id" : 4, "item" : "xyz", "price" : 5, "quantity" : 20, "date" : new Date("2014-04-04T11:21:39.736Z") },
{ "_id" : 5, "item" : "abc", "price" : 10, "quantity" : 10, "date" : new Date("2014-04-04T21:23:13.331Z") },
{ "_id" : 6, "item" : "def", "price" : 7.5, "quantity": 5, "date" : new Date("2015-06-04T05:08:13Z") },
{ "_id" : 7, "item" : "def", "price" : 7.5, "quantity": 10, "date" : new Date("2015-09-10T08:43:00Z") },
{ "_id" : 8, "item" : "abc", "price" : 10, "quantity" : 5, "date" : new Date("2016-02-06T20:20:13Z") }
])
db.sales.aggregate([
{ $match: { date: { $gte: new Date("2014-01-01"), $lt: new Date("2015-01-01") } } },
{ $group: { _id: "$item", totalSaleAmount: { $sum: { $multiply: [ "$price", "$quantity" ] } } } }
])

이 파이프라인은 다음을 수행합니다.

  1. test 데이터베이스로 전환하기.

  2. test.sales 컬렉션에 문서 8개를 삽입합니다.

  3. 두 단계로 집계 을 수행합니다.


    첫 번째 단계
    $match 단계에서는 2014 연도의 판매만 다음 단계로 전달되도록 데이터를 필터링합니다.
    두 번째 단계
    $group 단계에서는 데이터를 항목별로 그룹화합니다. 이 단계에서는 항목의 pricequantity 의 절정인 totalSaleAmount 라는 새 필드 를 출력에 추가합니다.

Play Button 키를 누르면 VS Code 확장이 플레이그라운드를 분할하고 Playground Results.json 창에 다음 문서 를 출력합니다. 분할 보기를 비활성화한 경우 VS Code 확장은 새 탭 에 다음 문서 를 출력합니다.

[
{
_id: 'abc',
totalSaleAmount: 120
},
{
_id: 'jkl',
totalSaleAmount: 20
},
{
_id: 'xyz',
totalSaleAmount: 150
}
]

다음도 참조하세요.

돌아가기

삭제