0

私は MongoDB を初めて使用し、オブジェクトを効率的にシリアライズしたいと考えています。つまり、オブジェクトを更新するときに、変更されたフィールドのみを書き込みたいということです。オブジェクトがリストにサブ オブジェクトを持っている場合、変更されたサブ オブジェクトのみを追加または削除したいと考えています。これは、1000 件のコメントを含む投稿がある場合、新しい投稿が来るたびにオブジェクト全体をシリアル化することを避けたいためです。

私が見つけたのは、規則ignoreifempty、ignoreisdefault、およびshouldserializexyzパターンだけです。

ignoreifnotchanged (オブジェクトのダーティ フィールドを追跡する) のような規則を書くことは可能ですか? または、すべてのプロパティのメソッドを書きたくないので、より一般的な shouldserializexyz がありますか?

4

1 に答える 1

0

調べたいのは、更新するフィールドを指定する update 引数を持つ Update メソッドです。

Update Builder を使用して、更新引数値を作成できます。調べてください:

Update.Set(name, value)
Update.Push(name, value)

(他にもたくさんあります)。

Update メソッドを連結して、一度に複数のフィールドを更新できます。

現在、組み込みの変更追跡機能はありません。そのため、どのフィールドが自分で変更されたかを追跡し、変更内容に関する知識に基づいて update 引数を作成する必要があります。

これに関連する保留中の JIRA 機能リクエストもあります。見る:

https://jira.mongodb.org/browse/CSHARP-237

必要に応じて、JIRA にコメントまたは投票してください。

于 2013-01-30T15:12:31.367 に答える