フィールドの更新
Overview
On this page, you can learn how to use the MongoDB .NET/ C# Driver to update fields in one MongoDB ドキュメント.このページでは、フィールドで実行するアップデート操作を指定するUpdateDefinition<TDocument>
{0 オブジェクトを作成する方法について説明します。これらのオブジェクトを、 Update One ページで説明されているアップデート メソッドに渡すことができます。
The .NET/ C# Driver supports the フィールド update operators described in the MongoDB Server manual . To specify an update 操作, call the corresponding method from theBuilders.Update
プロパティ.次のセクションでは、これらの方法について詳しく説明します。
注意
メソッドのオーバーロード
このページのメソッドの多くには、複数のオーバーロードがあります。 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; } [ ] 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; } [ ] public double[] Coordinates { get; set; } public string Street { get; set; } [ ] 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 クラスターを無料で作成して、このサンプル データをロードする方法については、クイック スタートを参照してください。
値の増加
To increment the value of a フィールド by a specific amount, call the Builders.Update.Inc()
method.このメソッドは次のパラメーターを受け入れます:
Parameter | 説明 |
---|---|
| データ型: |
| データ型: |
値を乗算する
To multiply the value of a フィールド by a specific amount, call the Builders.Update.Mul()
method.このメソッドは次のパラメーターを受け入れます:
Parameter | 説明 |
---|---|
| データ型: |
| データ型: |
フィールド名の変更
To rename a フィールド, call the Builders.Update.Rename()
method.このメソッドは次のパラメーターを受け入れます:
Parameter | 説明 |
---|---|
| データ型: |
| データ型: |
値の設定
To set the value of a フィールド to a specific value, call the Builders.Update.Set()
method.このメソッドは次のパラメーターを受け入れます:
Parameter | 説明 |
---|---|
| データ型: |
| データ型: |
比較による設定
To update the value of the フィールド to a specified value, but only if the specified value is greater than the current value of the フィールド, call theBuilders.Update.Max()
method.このメソッドは次のパラメーターを受け入れます:
Parameter | 説明 |
---|---|
| データ型: |
| データ型: |
To update the value of the フィールド to a specified value, but only if the specified value is less than the current value of the フィールド, call theBuilders.Update.Min()
method.このメソッドは次のパラメーターを受け入れます:
Parameter | 説明 |
---|---|
| データ型: |
| データ型: |
挿入時に設定
To set the value of a フィールド only if the ドキュメント was upserted by the same 操作, call the Builders.Update.SetOnInsert()
method.このメソッドは次のパラメーターを受け入れます:
Parameter | 説明 |
---|---|
| データ型: |
| データ型: |
現在の日付を設定
To set the value of a フィールド to the current date and time, call the Builders.Update.CurrentDate()
method.このメソッドは次のパラメーターを受け入れます:
Parameter | 説明 |
---|---|
| データ型: |
|
フィールドの設定解除
To remove a フィールド from a ドキュメント, call the Builders.Update.Unset()
method.このメソッドは次のパラメーターを受け入れます:
Parameter | 説明 |
---|---|
| データ型: |