使用できます
IMongoUpdate updateDoc = new UpdateDocument("$set", doc);
collection.Update(Query.EQ("_id",id), updateDoc);
ただし、注意が必要です。
最初にドキュメントをSomeObjectに逆シリアル化すると、すべてのフィールドがデフォルト値になります(文字列の場合はnull、intの場合は0など)。また、そのオブジェクトを更新に使用すると、json文字列に存在しなかったフィールドがデフォルト値に更新されます。
を使用する場合
var bsonDoc = BsonSerializer.Deserialize<BsonDocument>(jsonString);
IMongoUpdate updateDoc = new UpdateDocument("$set", bsonDoc);
collection.Update(Query.EQ("_id",id), updateDoc);
データベース上のドキュメントは、jsonStringに存在するフィールドに対してのみ更新されます