MongoDBのコレクションにあるすべてのドキュメントを取得する必要がありますが、その方法を理解できません。このように「コレクション」を宣言しました
private static IMongoCollection<Project> SpeCollection = db.GetCollection<Project>("collection_Project");
そして、 this MongoDBチュートリアルで説明されていることに従いました。私のニーズに合わせて調整しました
var documents = await SpeCollection.Find(new Project()).ToListAsync();
ただし、次のエラーが引き続き発生します。
MongoDB.Driver.IMongoCollectionには 'Find'の定義がなく、拡張メソッド[superlong stuff]の最適なオーバーライドがありません。 Findに無効な引数が含まれています。
現在のバージョンのドライバー(v2.0)を使用すると、すべてに一致するフィルターを渡すことでそれを行うことができます。
var documents = await SpeCollection.Find(_ => true).ToListAsync();
また、空のフィルター( FilterDefinition.Empty
)次のバージョンのドライバー(v2.1)で届きます:
var documents = await SpeCollection.Find(Builders<Project>.Filter.Empty).ToListAsync();
すべてのドキュメントを取得します-
var documents = SpeCollection.AsQueryable();
また、JSON
オブジェクトに変換します-
var json = Json(documents, JsonRequestBehavior.AllowGet);
すべてのドキュメントが必要な場合は、Find all
?
var documents = await SpeCollection.Find(new BsonDocument()).ToListAsync();