문서 메뉴

문서 홈애플리케이션 개발MongoDB 매뉴얼

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

이 페이지의 내용

  • 설명
  • 행동
  • 예제

Bulk.find.updateOne(<update>)

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

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

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

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

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

대체 문서

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

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

문서 업데이트
Aggregation pipeline

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

업데이트 수정 매개변수에 대한 자세한 내용은 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()

이 페이지의 내용