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

Bulk.find.update()

이 페이지의 내용

  • 설명
  • 호환성
  • 예시

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

Bulk.find.update(<update>)

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

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

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

Parameter
유형
설명

문서 또는 파이프라인

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

문서 업데이트

집계 파이프라인

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

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

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

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

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

참고

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

다음 예시에서는 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

이 페이지의 내용