2017-01-25 5 views
2

私はc#mongodbドライバを使用します。特定の値を更新したい場合、例外がスローされます。私は以前これを使っていましたが、今はどうしましたか、以前は何のエラーもありませんでした。C#MongoDB UpdateManyAsyncでSetメソッドが例外をスローする

var result = await col.UpdateManyAsync(
     p => p.X > 5, 
     Builders<Payment>.Filter.Gt(p => p.Amount, 100).Set("Level", "High") 
); 

そして、ここに私の支払いクラスです:

public class Payment 
    { 
     public ObjectId Id { get; set; } 
     public decimal Amount { get; set; } 
     public Type Type { get; set; } 
    } 

答えて

2

お支払いクラスのLevelプロパティを持っていないが、ここに私のコードです。これはあなたが何をしたいのかを正確にある場合は、次のように、それ以外の場合はエラーをスローし、あなたの支払いクラスにBsonIgnoreExtraElements属性を追加する必要があります。

[BsonIgnoreExtraElements] 
public class Payment 
{ 
    public ObjectId Id { get; set; } 
    public decimal Amount { get; set; } 
    public Type Type { get; set; } 
} 
+0

OWを!私はそれを忘れてしまった。それは働いてくれてありがとはい、私はこれをやりたいと思っています。それが100より大きい場合は、プロパティを追加します。 –

+0

@問題あなたの問題が解決すれば、解決策としてこの答えをマークすることができます:) –

+0

ああ申し訳ありませんが、私はそれを知らなかった。私は今試しましたが、答えを受け入れるのに10分待たなければならないと言いました。多分私は新しいです:) –

関連する問題