使用Set方法的C#MongoDB UpdateManyAsync引发异常

时间:2017-01-25 15:45:25

标签: c# mongodb mongodb-.net-driver

我使用c#mongodb驱动程序。当我想更新我的特定值时,它会抛出异常。我以前用过这个,但我现在不怎么样,但我之前没有得到任何错误。这是我的代码:

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; }
    }

1 个答案:

答案 0 :(得分:2)

您的Payment类中没有Level属性。如果这正是您想要做的,那么您需要将BsonIgnoreExtraElements属性添加到Payment类中,否则会抛出错误,如下所示:

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