문서 메뉴
문서 홈
/
MongoDB 매뉴얼
/ / /

Bulk.find.update()

이 페이지의 내용

  • 설명
  • 예제

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

Bulk.find.update(<update>)

대량 작업 목록에 multi 업데이트 작업을 추가합니다. 이 메서드는 기존 문서의 특정 필드를 업데이트합니다.

Bulk.find() 메서드를 사용하여 업데이트할 문서를 결정하는 조건을 지정합니다. Bulk.find.update() 메서드는 일치하는 모든 문서를 업데이트합니다. 단일 문서 업데이트를 지정하려면 Bulk.find.updateOne()을 참조하세요.

Bulk.find.update() 는 다음 매개 변수를 허용합니다.

매개 변수
유형
설명
문서 또는 파이프라인

수정 사항을 적용합니다. 다음 중 하나일 수 있습니다.

문서 업데이트
Aggregation pipeline

다음 집계 단계만 포함합니다.

업데이트 수정 매개변수에 대한 자세한 내용은 db.collection.updateMany() 참조 페이지를 참조하세요.

Bulk.find()의 연관된 <query> 문서와 업데이트 문서의 합은 최대 BSON 문서 크기 이하여야 합니다.

다음 예시에서는 items 컬렉션에 대한 Bulk() 작업 빌더를 초기화하고 다양한 multi 업데이트 작업을 작업 목록에 추가합니다.

var bulk = db.items.initializeUnorderedBulkOp();
bulk.find( { status: "D" } ).update( { $set: { status: "I", points: "0" } } );
bulk.find( { item: null } ).update( { $set: { item: "TBD" } } );
bulk.execute();

업데이트 메서드는 집계 파이프라인을 허용할 수 있습니다. 예를 들어 다음과 같은 용도로 사용할 수 있습니다.

  • $set 업데이트 연산자 표현식과 유사한 동작을 제공할 수 있는 $set 단계,

  • 현재 날짜/시간으로 해석되며 $currentDate 업데이트 연산자 표현식과 유사한 동작을 제공할 수 있는 집계 변수 NOW입니다. 집계 변수에 액세스하려면 변수 앞에 이중 달러 기호($$)를 붙이고 따옴표로 묶습니다.

var bulk = db.items.initializeUnorderedBulkOp();
bulk.find( { status: "P" } ).update(
[
{ $set: { points: 0, lastModified: "$$NOW" } }
]
);
bulk.execute();

다음도 참조하세요.

돌아가기

Bulk.find.updateOne

다음

Bulk.find.upsert

이 페이지의 내용