0

我正在尝试使用 C# 驱动程序对我在 MongoDB 中的一个文档进行部分更新。我关注了以下帖子:

如何使用官方 c# 驱动程序在 MongoDB 中使用 Update.Set 更新多个字段?

使用 c# 驱动程序的部分 mongodb upsert?

尝试进行更新时出现以下错误:“当前只能映射类”,在 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 中的有效集合。

我究竟做错了什么?

谢谢,尼尔

4

1 回答 1

0

让它工作,显然我正在为 C# 驱动程序使用一些旧的 dll。通过使用此处的 dll 修复它:

https://github.com/mongodb/mongo-csharp-driver/downloads

谢谢,尼尔。

于 2012-08-04T07:58:04.417 回答