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

Bulk.find.updateOne()을 호출합니다.

이 페이지의 내용

  • 설명
  • 행동
  • 예시

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

Bulk.find.updateOne(<update>)

단일 문서 업데이트 작업을 대량 작업 목록에 추가합니다.

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

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

Parameter
유형
설명
문서 또는 파이프라인

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

대체 문서

필드 및 값 쌍만 포함합니다.

Bulk.find.replaceOne()도 참조하세요.

문서 업데이트
집계 파이프라인

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

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

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

<update> 문서에 다음과 같이 업데이트 연산자 표현식만 포함된 경우:

{
$set: { status: "D" },
$inc: { points: 2 }
}

그런 다음 Bulk.find.updateOne() 은 문서 에서 해당 필드 statuspoints 만 업데이트합니다.

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

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

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

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

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

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

다음도 참조하세요.

돌아가기

Bulk.find.replaceOne

이 페이지의 내용