문서 메뉴

문서 홈애플리케이션 개발MongoDB 매뉴얼

db.collection.initializeOrderedBulkOp()

이 페이지의 내용

  • 정의
  • 행동
  • 예제

db.collection.initializeOrderedBulkOp()

중요

Mongo쉬 방법

이 페이지에서는 mongosh 메서드를 설명합니다. 이는 Node.js와 같은 언어별 드라이버에 대한 설명서가 아닙니다 .

MongoDB API 드라이버의 경우 언어별 MongoDB 드라이버 설명서를 참조하세요.

컬렉션에 대한 새 Bulk() 작업 빌더를 초기화하고 반환합니다. 빌더는 MongoDB가 대량으로 실행하는 쓰기 작업을 순서가 지정된 목록으로 구성합니다.

반환합니다:Bulk() 작업 빌더 객체.

순서가 지정된 작업 목록을 사용하여 MongoDB는 목록의 쓰기 작업을 순차적으로 실행합니다.

MongoDB는 ordered 작업 목록을 실행할 때 operation type 및 연속성을 기준으로 작업을 그룹화합니다. 즉, 동일한 유형의 연속 작업은 함께 그룹화됩니다. 예를 들어, 정렬된 목록에 두 개의 삽입 작업과 업데이트 작업과 다른 삽입 작업이 있는 경우, MongoDB는 작업을 세 개의 개별 그룹으로 그룹화합니다: 첫 번째 그룹은 두 개의 삽입 작업, 두 번째 그룹은 업데이트 작업, 세 번째 그룹은 마지막 삽입 작업이 포함되어 있습니다. 이 동작은 향후 버전에서 변경될 수 있습니다.

Bulk() mongosh{ 의 작업과 드라이버의 유사한 메서드에는 그룹의 작업 수에 대한 제한이 없습니다. 대량 작업 실행을 위해 작업이 어떻게 그룹화되는지 확인하려면 실행 후 를 Bulk.getOperations() 호출합니다.

다음도 참조하세요.

순서가 지정된 목록에서는 각 작업이 이전 작업이 완료될 때까지 기다려야 하므로 샤드 컬렉션에서 ordered 작업 목록을 실행하는 것은 일반적으로 unordered 목록을 실행하는 것보다 느립니다.

쓰기 작업 중 하나를 처리하는 동안 오류가 발생하더라도 MongoDB는 목록에 있는 나머지 쓰기 작업을 계속 처리합니다.

다음은 users collection에서 Bulk() 작업 빌더를 초기화하고, 일련의 쓰기 작업을 추가하고, 작업을 실행합니다.

var bulk = db.users.initializeOrderedBulkOp();
bulk.insert( { user: "abc123", status: "A", points: 0 } );
bulk.insert( { user: "ijk123", status: "A", points: 0 } );
bulk.insert( { user: "mop123", status: "P", points: 0 } );
bulk.find( { status: "D" } ).delete();
bulk.find( { status: "P" } ).update( { $set: { comment: "Pending" } } );
bulk.execute();
← 대량 작업 메서드

이 페이지의 내용