Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

db.collection.initializeOrderedBulkOp()

이 페이지의 내용

  • 정의
  • 행동
  • 예시

MongoDB는 대량 쓰기 작업을 수행하기 위한 db.collection.bulkWrite() 메서드도 제공합니다.

db.collection.initializeOrderedBulkOp()

중요

Mongo쉬 방법

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

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

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

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

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

ordered 작업 목록을 실행할 때 MongoDB는 operation type 및 연속성을 기준으로 작업을 그룹화합니다. 즉, 동일한 유형의 연속 작업이 함께 그룹화됩니다. 그 예로 순서가 지정된 목록에 삽입 연산 2개가 먼저 나오고 그 다음에 업데이트 연산, 또 그 다음에는 다른 삽입 연산이 있는 경우, MongoDB는 이 연산들을 3개의 개별 그룹으로 그룹화합니다. 첫 번째 그룹에는 삽입 연산 2개, 두 번째 그룹에는 업데이트 연산, 세 번째 그룹에는 마지막 삽입 연산이 포함됩니다. 이 동작은 이후의 버전에서 변경될 수 있습니다.

mongoshBulk() 작업과 드라이버의 유사한 메서드에는 그룹의 작업 수에 대한 제한이 없습니다. 대량 작업 실행을 위해 작업이 어떻게 그룹화되는지 확인하려면 실행 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();

돌아가기

대량 작업

이 페이지의 내용