2017-09-23 9 views
-1

mongodbからC#でドキュメントを取得しようとしていますが、型キャストエラーが発生しました。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

私はこのエラーを受け取りました: - 暗黙のうちにタイプ 'mongoDb.Driver.IFindFluent .......'を 'MongoDb.Bson.BsonDocument'に変換していません。明示的な変換が存在します(キャストがありませんか?) –

答えて

0

Find戻りIFindFluent、ないBsonDocument。あなたの例では、あなたの文書を取得するためにSingleOrDefaultを使用することができます正確に一つの試合は、クエリから返されていないがある場合nullになります

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

bsこと。 Single,FirstOrDefault,Firstなどを使用することもできます。複数のドキュメントが返されることになった場合は、ToListなどを使用できます。

すべてのオプションについてはIFindFluentのドキュメントをご覧ください。

+0

あなたの問題? –

関連する問題