厳密に型指定されたオブジェクトを使用して更新を実行しようとしています。例えば、
public void setAppointmentPrefs(string UserName, IEnumerable<AppointmentInfo> info)
{
var query = new QueryDocument {{ "ProviderId", UserName}};
var update = Update.Set("Prefs",prefs); // prefs.toList() gives same error
// providerprefs initialized in constructor
providerprefs.Update(query, update);
}
次のようなコンパイラ エラーが表示されます。Error 14 The best overloaded method match for 'MongoDB.Driver.Builders.Update.Set(string, MongoDB.Bson.BsonValue)' has some invalid arguments
明らかに、Mongo ドライバーでは、自分のオブジェクト (IEnumerable または prefs.toList()) に基づいて更新することはできません。これは、カスタム オブジェクトを挿入またはクエリする方法とは対照的です。確かに、逆シリアル化を回避し、弱く入力してから汎用の BsonDocument を作成することを可能にする明らかな何かが欠けています!! ティア。