2017-09-23 82 views
-1

我想從c#中的mongodb中檢索文檔,但我得到了類型轉換錯誤。Mongodb檢索文檔

我的代碼:

var db = mongo.GetDatabase("ram"); 
var coll = db.GetCollection<BsonDocument>("all_product_option"); 
var query = new QueryDocument("idf", "10"); 
BsonDocument bs= coll.Find(query); 
+0

您的.Find()最有可能不會返回BsonDocument,請將其更改爲var,並查看不確定的返回類型。很可能你會得到一個Enumerable文檔。 – Adriani6

+0

我得到這個錯誤: - 無法隱式轉換type'mongoDb.Driver.IFindFluent .......到'MongoDb.Bson.BsonDocument.'An顯式轉換存在(您是否缺少演員?)) –

回答

0

Find回報IFindFluent,不BsonDocument。在你的榜樣,您可以使用SingleOrDefault獲取您的文檔:

BsonDocument bs = coll.Find(query).SingleOrDefault(); 

注意bsnull如果不是正好有一個匹配,從查詢返回。您也可以使用SingleFirstOrDefault,First,et al。如果您最終要查找多個要退回的文檔,則可以使用ToList等。

查看所有選項的IFindFluent的文檔。

+0

這個決心你的問題? –