我正在尝试使用C#驱动程序对MongoDB中的某个文档进行部分更新。我已经关注了以下帖子:
How do you update multiple field using Update.Set in MongoDB using official c# driver?
Partial mongodb upsert using the c# driver?
尝试进行更新时出现以下错误:“当前只能映射类”,在AutoMapper CreateClassMap类中,收到的类型是System.Collections.Generic.IEnumerable`1 [[MongoDB.Bson.BsonElement ,MongoDB.Bson]],它不能是一个接口。
我正在使用的代码是:
public void UpdateObjectByFields<T>(int id, Dictionary<string, object> modifiedFields)
where T : class
{
var collection = m_MongoDatabase.GetCollection<T>();
var builder = new UpdateBuilder();
foreach (var modifiedField in modifiedFields)
{
builder.Set(modifiedField.Key, modifiedField.Value.ToString());
}
collection.Update(Query.EQ("_id", id), builder);
}
其中T类型是Mongo中的有效集合。
我做错了什么?
谢谢, 尼尔
答案 0 :(得分:0)
让这个工作,显然我正在使用一些旧的dll作为C#驱动程序。 通过使用此处的dll修复它:
https://github.com/mongodb/mongo-csharp-driver/downloads
谢谢, 尼尔。