【发布时间】:2012-08-03 06:02:12
【问题描述】:
我正在尝试使用 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 中的有效集合。
我做错了什么?
谢谢, 尼尔
【问题讨论】:
标签: mongodb partial mongodb-.net-driver