0

C#ドライバーを使用して、MongoDBのドキュメントの1つを部分的に更新しようとしています。私は次の投稿をフォローしました:

公式のc#ドライバーを使用してMongoDBのUpdate.Setを使用して、複数のフィールドをどのように更新しますか?

c#ドライバーを使用した部分的なmongodbアップサート?

更新を実行しようとすると、次のエラーが発生します。「現在、クラスのみをマップできます」、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 に答える