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

フィールドの更新

項目一覧

  • Overview
  • サンプル データ
  • 値の増加
  • 値を乗算する
  • フィールド名の変更
  • 値の設定
  • 比較による設定
  • 挿入時に設定
  • 現在の日付を設定
  • フィールドの設定解除
  • API ドキュメント

On this page, you can learn how to use the MongoDB .NET/ C# Driver to update fields in multiple MongoDB documents.このページでは、フィールドで実行するアップデート操作を指定するUpdateDefinition<TDocument> {0 オブジェクトを作成する方法について説明します。これらのオブジェクトを、 UpdateMany ページで説明されているアップデート メソッドに渡すことができます。

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コレクションを使用します。 このコレクションのドキュメントでは、次のRestaurantAddressGradeEntryクラスをモデルとして使用します。

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 クラスターを無料で作成して、このサンプル データをロードする方法については、クイック スタートを参照してください。

To increment the value of a フィールド by a specific amount, call the Builders.Update.Inc() method.このメソッドは次のパラメーターを受け入れます:

Parameter
説明

field

データ型: Expression<Func<TDocument, TField>>

value

データ型: TField

To multiply the value of a フィールド by a specific amount, call the Builders.Update.Mul() method.このメソッドは次のパラメーターを受け入れます:

Parameter
説明

field

データ型: Expression<Func<TDocument, TField>>

value

データ型: TField

To rename a フィールド, call the Builders.Update.Rename() method.このメソッドは次のパラメーターを受け入れます:

Parameter
説明

field

データ型: Expression<Func<TDocument, TField>>

newName

データ型: string

To set the value of a フィールド to a specific value, call the Builders.Update.Set() method.このメソッドは次のパラメーターを受け入れます:

Parameter
説明

field

データ型: Expression<Func<TDocument, TField>>

value

データ型: TField

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
説明

field

データ型: Expression<Func<TDocument, TField>>

value

データ型: TField

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
説明

field

データ型: Expression<Func<TDocument, TField>>

value

データ型: TField

To set the value of a フィールド only if the ドキュメント was upserted by the same 操作, call the Builders.Update.SetOnInsert() method.このメソッドは次のパラメーターを受け入れます:

Parameter
説明

field

データ型: Expression<Func<TDocument, TField>>

value

データ型: TField

To set the value of a フィールド to the current date and time, call the Builders.Update.CurrentDate() method.このメソッドは次のパラメーターを受け入れます:

Parameter
説明

field

データ型: Expression<Func<TDocument, TField>>

type

To remove a フィールド from a ドキュメント, call the Builders.Update.Unset() method.このメソッドは次のパラメーターを受け入れます:

Parameter
説明

field

データ型: Expression<Func<TDocument, TField>>

戻る

多数更新