文檔告訴您如何定義過濾器,但不知道如何使用它。C#MongoDB的驅動強類型的過濾器的使用
public class Widget : BsonDocument
{
[BsonElement("X")]
public int X { get; set; }
[BsonElement("Y")]
public int Y { get; set; }
}
public MyItem Get()
{
MyItem retvalue = null;
var builder = Builders<BsonDocument>.Filter;
var filter = builder.Eq("x", 10) & builder.Lt("y", 20);
Console.WriteLine(_collection.Count(filter));
var builder2 = Builders<Widget>.Filter;
var filter2 = builder2.Eq(widget => widget.X, 10) & builder2.Lt(widget => widget.Y, 20);
Console.WriteLine(_collection.Count(filter2));
return retvalue;
}
所以第一個過濾器正在工作 - 但它是不強類型。
第二過濾器不能使用這樣的。
編譯器錯誤:無法從「MongoDB.Driver.FilterDefinition」到「MongoDB.Driver.FilterDefinition」
轉換所以,問題是 - 我怎麼用這個作爲一個過濾器。顯然,filter參數被定義爲FilterDefinition。從BsonDocument派生MyItem沒有幫助。 「filter2.ToBsonDocument()
」編譯但不會產生正確的結果(過濾器不工作!)。
有人能指出我到正確的方向?
還有一些我可以讀到的地方?
什麼驅動程序版本正在使用完整版? – profesor79