Docs Menu
Docs Home
/ / /
C#/.NET
/ / /

UpdateMany

이 페이지의 내용

  • 개요
  • 샘플 데이터
  • 메서드 및 매개변수
  • 여러 값 업데이트
  • 결합된 업데이트 정의
  • 파이프라인 업데이트
  • 구성 옵션
  • 반환 값
  • 추가 정보
  • API 문서

  • UpdateMany(): 여러 문서에서 하나 이상의 필드를 업데이트합니다.

  • UpdateManyAsync(): UpdateMany()의 비동기 버전입니다.

다음 섹션에서는 이러한 메서드에 대해 자세히 설명합니다.

참고

메서드 오버로드

이 페이지의 많은 메서드에는 여러 오버로드가 있습니다. The examples in this 가이드 show only one definition of each method. For more information about the available overloads, see the API documentation.

이 가이드의 예에서는 sample_restaurants 데이터베이스의 restaurants 컬렉션을 사용합니다. 이 컬렉션의 문서는 다음 Restaurant, Address, GradeEntry 클래스를 모델로 사용합니다.

public class Restaurant
{
public ObjectId Id { get; set; }
public string Name { get; set; }
[BsonElement("restaurant_id")]
public string RestaurantId { get; set; }
public string Cuisine { get; set; }
public Address Address { get; set; }
public string Borough { get; set; }
public List<GradeEntry> Grades { get; set; }
}
public class Address
{
public string Building { get; set; }
[BsonElement("coord")]
public double[] Coordinates { get; set; }
public string Street { get; set; }
[BsonElement("zipcode")]
public string ZipCode { get; set; }
}
public class GradeEntry
{
public DateTime Date { get; set; }
public string Grade { get; set; }
public float? Score { get; set; }
}

참고

restaurants 컬렉션 의 문서는 대소문자 명명 규칙을 사용합니다. 이 가이드 의 예제에서는 ConventionPack 를 사용하여 컬렉션 의 필드를 파스칼식 대/소문자로 역직렬화하고 Restaurant 클래스의 속성에 매핑합니다.

사용자 지정 직렬화에 대해 자세히 알아보려면 사용자 지정 직렬화를 참조하세요.

이 컬렉션은 Atlas에서 제공하는 샘플 데이터 세트에서 가져온 것입니다. 퀵 스타트를 참조하여 무료 버전의 MongoDB 클러스터를 생성하고 이 샘플 데이터를 로드하는 방법을 알아보세요.

UpdateMany()UpdateManyAsync() 메서드는 다음 매개변수를 허용합니다.

Parameter
설명

filter

데이터 유형: FilterDefinition

update

데이터 유형: UpdateDefinition<TDocument>

options

선택 사항. An 인스턴스 of the UpdateOptions class that specifies the configuration for the 업데이트 operation. The 기본값 value null is.사용 가능한 옵션 목록은 구성 옵션을 참조하세요.

데이터 유형: UpdateOptions

cancellationToken

선택 사항. 작업을 취소하는 데 사용할 수 있는 토큰입니다.

데이터 유형: CancellationToken

Builders.Update.Combine() 메서드를 사용하면 여러 UpdateDefinition 객체를 결합할 수 있습니다. 이 메서드는 다음 매개변수를 허용합니다.

Parameter
설명

updates

데이터 유형: UpdateDefinition<TDocument>[]

var filter = Builders<Restaurant>.Filter
.Eq("cuisine", "Pizza");
var combinedUpdate = Builders<Restaurant>.Update.Combine(
Builders<Restaurant>.Update.Set("cuisine", "French"),
Builders<Restaurant>.Update.Unset("borough")
);
_restaurantsCollection.UpdateMany(filter, combinedUpdate);
var filter = Builders<Restaurant>.Filter
.Eq("cuisine", "Pizza");
var combinedUpdate = Builders<Restaurant>.Update.Combine(
Builders<Restaurant>.Update.Set("cuisine", "French"),
Builders<Restaurant>.Update.Unset("borough")
);
await _restaurantsCollection.UpdateManyAsync(filter, combinedUpdate);

To create an 업데이트 파이프라인, call the Builders.Update.Pipeline() method. 이 메서드는 다음 매개변수를 허용합니다.

Parameter
설명

pipeline

데이터 유형: PipelineDefinition<TDocument, TDocument>

var filter = Builders<Restaurant>.Filter
.Eq("cuisine", "Pizza");
var updatePipeline = Builders<Restaurant>.Update.Pipeline(
PipelineDefinition<Restaurant, Restaurant>.Create(
new BsonDocument("$set", new BsonDocument("cuisine", "French")),
new BsonDocument("$unset", "borough")
)
);
_restaurantsCollection.UpdateMany(filter, updatePipeline);
var filter = Builders<Restaurant>.Filter
.Eq("cuisine", "Pizza");
var updatePipeline = Builders<Restaurant>.Update.Pipeline(
PipelineDefinition<Restaurant, Restaurant>.Create(
new BsonDocument("$set", new BsonDocument("cuisine", "French")),
new BsonDocument("$unset", "borough")
)
);
await _restaurantsCollection.UpdateManyAsync(filter, updatePipeline);

참고

지원되지 않는 작업

UpdateOptions 클래스에는 다음과 같은 속성이 포함되어 있습니다.

속성
설명

ArrayFilters

데이터 유형: IEnumerable

BypassDocumentValidation

데이터 유형: bool?

Collation

데이터 유형: 데이터 정렬

Comment

작업에 대해 사용자가 제공한 설명을 가져오거나 설정합니다. See the MongoDB Server manual for more information.

데이터 유형: BsonValue

Hint

데이터 유형: BsonValue

IsUpsert

데이터 유형: bool

Let

데이터 유형: BsonDocument

The UpdateMany() method returns an UpdateResult, and the UpdateManyAsync() method returns a Task<UpdateResult> 객체. UpdateResult 클래스에는 다음과 같은 속성이 포함되어 있습니다.

속성
설명

IsAcknowledged

MongoDB에서 업데이트 작업을 승인했는지 여부를 나타냅니다.

데이터 유형: bool

IsModifiedCountAvailable

데이터 유형: bool

MatchedCount

데이터 유형: long

ModifiedCount

데이터 유형: long

UpsertedId

드라이버가 업서트를 수행한 경우 데이터베이스에 업서트된 문서의 ID입니다.

데이터 유형: BsonValue

이 페이지에는 UpdateManyAsync() 메서드를 사용하여 데이터를 수정하는 방법을 보여주는 짧은 인터랙티브 실습이 포함되어 있습니다. MongoDB 또는 코드 편집기를 설치하지 않고도 브라우저 창에서 직접 이 실습을 완료할 수 있습니다.

실습을 시작하려면 페이지 상단의 Open Interactive Tutorial 버튼을 클릭하세요. 실습을 전체 화면 형식으로 확장하려면 실습 창의 오른쪽 상단 모서리에 있는 전체 화면 버튼()을 클릭합니다.

쿼리 필터 생성에 대해 자세히 알아보려면 쿼리 지정 가이드를 참조하세요.

이 가이드 에 설명된 메서드 또는 유형에 대한 자세한 내용은 다음 API 문서를 참조하세요.

돌아가기

배열