2012-08-03 26 views
0

我想使用C#驱动程序对MongoDB中的其中一个文档进行部分更新。我已经按照以下职位:关于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类是在蒙戈有效的集合。

我在做什么错?

感谢, 尼尔

回答