以下のような2つのクラスがあるとしましょう:
public class Class1
{
....
public int CityId {get;set;}
public string CityName {get;set;}
public ObjectId _id {get;set;}
}
public class Class2 : Class1
{
public string OrderId {get;set;}
}
collUser.Update(
Query.EQ("_id", model._id),
Update.Replace(model));
のオブジェクト タイプを使用するとClass2
、更新は正常に機能します。
しかし、オブジェクトタイプを使用すると、更新によりレコードのフィールドClass1
が削除されます。OrderId
コレクション内のすべてのレコード(ドキュメント)を置き換えると思います。
これを回避する方法はありますか?または、以下のように Update.Set を使用するよりも簡単な方法はありますか?
Update.Set("fieldName",value).Set("fieldName2",value2)
つまり、そのオブジェクト (Class1 または Class2) が残りのフィールドを削除せずにプロパティを所有している場合、フィールドを更新したいだけです。