4
我正在使用C#驅動程序2.0。我有一個POCO,我在蒙戈我儲存,看起來像這樣:如何在不指定使用C#驅動程序的過濾器的情況下替換mongodb中的對象?
public class TestObject
{
[BsonId]
public Guid Id { get; set; }
public string Property1 { get; set; }
}
我使用這樣一個通用的方法存儲對象:
public async void Insert<T>(T item)
{
var collection = GetCollection<T>();
await collection.InsertOneAsync(item);
}
我想有一個類似的方法更新一個對象。但是,ReplaceOneAsync
方法需要指定過濾器。
我想根據[BsonId]
屬性來更新同一個對象。任何人都知道這是否可能?
你需要一個過濾器的ID。否則,您將更新所有文檔。 – i3arnon
但是因爲我想創建一個通用的方法來爲我做更新,我不知道哪個字段是對象上的ID字段。 – BigJoe714
您可以添加僅具有ID並接受該ID的接口。或者使用反射來查看什麼是BsonId。但是你需要一個Id作爲過濾器 – i3arnon