我正在尝试使用强类型对象执行更新。例如,
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!TIA。