私はC#で次のようなクラスを持っています:
public class MyEntry
{
public ObjectId Id { get; set; }
public string SimpleHash { get; set; }
public string GroupIdentifier { get; set; }
}
これをmongoに保存すると、正常に機能します。ここで、このドキュメントにいくつかのサブドキュメントを追加したいと思います。サブドキュメントのクラスは次のようになります。
public class Detail
{
public DateTime CreateDate { get; set; }
public string DetailHash { get; set; }
}
次のように、Pushコマンドを使用してこれらの詳細をルートドキュメントに追加します。
collection.Update(query, Update.PushWrapped("Details", detail));
これは今のところうまく機能しており、MyEntry
すべてを添付せずに読む可能性があり、Details
すべて/最初/最後/Details
好きな方を読むことができます。しかし、今の私の問題は、で何かを変更してMyEntry
保存すると、Details
-Arrayが完全に削除されることです。
更新時に、クラスで言及されていないフィールドをそのままにしておく方法はありますか?