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

db.collection.initializeOrderedBulkOp()

이 페이지의 내용

  • 정의
  • 호환성
  • 행동
  • 예시

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

db.collection.initializeOrderedBulkOp()

중요

Mongo쉬 방법

이는 mongosh 메서드입니다. 이는 Node.js 또는 기타 프로그래밍 언어별 드라이버 메서드에 대한 설명서가 아닙니다 .

대부분의 경우 mongosh 메서드는 레거시 mongo shell 메서드와 동일한 방식으로 작동합니다. 그러나 일부 레거시 메서드는 mongosh 에서 사용할 수 없습니다.

레거시 mongo 셸 문서는 해당 MongoDB 서버 릴리스 문서를 참조하세요.

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

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

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

이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.

  • MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스

참고

이 명령은 모든 MongoDB Atlas 클러스터에서 지원됩니다. 모든 명령에 대한 Atlas 지원에 관해 자세히 알아보려면 지원되지 않는 명령을 참조하십시오.

순서가 지정된 작업 목록을 사용하여 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();

돌아가기

대량 작업

이 페이지의 내용