J'ai besoin de récupérer tous les documents qui se trouvent dans ma collection dans MongoDB, mais je ne sais pas comment. J'ai déclaré ma "collection" comme ça-
private static IMongoCollection<Project> SpeCollection = db.GetCollection<Project>("collection_Project");
Et j'ai suivi ce qui est expliqué dans this Tutoriel MongoDB. Je l'ai ajusté à mes besoins, comme-
var documents = await SpeCollection.Find(new Project()).ToListAsync();
Cependant, je continue d'avoir l'erreur suivante-
MongoDB.Driver.IMongoCollection n'a pas de définition pour "Find" et le meilleur remplacement de la méthode d'extension [superlong stuff]. La recherche contient des arguments non valides.
En utilisant la version actuelle du pilote (v2.0), vous pouvez le faire en passant un filtre qui correspond à tout:
var documents = await SpeCollection.Find(_ => true).ToListAsync();
Ils ont également ajouté un filtre vide ( FilterDefinition.Empty
) qui arrivera dans la prochaine version du pilote (v2.1):
var documents = await SpeCollection.Find(Builders<Project>.Filter.Empty).ToListAsync();
Récupérez tous les documents-
var documents = SpeCollection.AsQueryable();
Convertissez également en JSON
object-
var json = Json(documents, JsonRequestBehavior.AllowGet);
Si vous voulez tous les documents, pourquoi ne pas utiliser Find all
?
var documents = await SpeCollection.Find(new BsonDocument()).ToListAsync();