db.collection.initializeUnorderedBulkOp()
팁
MongoDB는 대량 쓰기 작업을 수행하기 위한 db.collection.bulkWrite()
메서드도 제공합니다.
정의
db.collection.initializeUnorderedBulkOp()
중요
Mongo쉬 방법
이 페이지에서는
mongosh
메서드를 설명합니다. 이는 Node.js와 같은 언어별 드라이버에 대한 설명서가 아닙니다.MongoDB API 드라이버의 경우 언어별 MongoDB 드라이버 설명서를 참조하세요.
컬렉션에 대한 새
Bulk()
작업 빌더를 초기화하고 반환합니다. 이 빌더는 MongoDB가 일괄적으로 실행하는 쓰기 작업을 순서가 지정되지 않은 목록으로 구성합니다.
행동
작업 순서
순서가 지정되지 않은 작업 목록을 사용하면 MongoDB가 목록에 있는 쓰기 작업을 순서와 상관없이 병행하여 실행할 수 있습니다. 작업 순서가 중요하다면 db.collection.initializeOrderedBulkOp()
를 대신 사용하세요.
연산 실행
MongoDB는 unordered
작업 목록을 실행할 때 해당 작업을 그룹화합니다. 순서가 지정되지 않은 대량 작업의 경우 목록에서 작업 순서가 변경되어 성능이 향상될 수 있습니다. 따라서 애플리케이션은 unordered
대량 작업을 수행할 때 순서에 의존해서는 안 됩니다.
mongosh
의 Bulk()
작업과 드라이버의 유사한 메서드에는 그룹의 작업 수에 대한 제한이 없습니다. 대량 작업 실행을 위해 작업이 어떻게 그룹화되는지 확인하려면 실행 후 Bulk.getOperations()
를 호출합니다.
Error Handling
쓰기 작업 중 하나를 처리하는 동안 오류가 발생하더라도 MongoDB는 목록에 있는 나머지 쓰기 작업을 계속 처리합니다.
예시
다음은 Bulk()
작업 빌더를 초기화하고 여러 문서를 추가하는 일련의 삽입 작업을 추가합니다.
var bulk = db.users.initializeUnorderedBulkOp(); 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.execute();