c# .net mongodb mongodb-.net-driver mongodb-csharp-2.0

c# - Obtenga todos los ''documentos'' de la ''colección'' de MongoDB



.net mongodb-.net-driver (3)

Manera más simple

Recuperar todos los documentos

var documents = SpeCollection.AsQueryable();

También convertir a objeto JSON

var json = Json(documents, JsonRequestBehavior.AllowGet);

Necesito recuperar todos los documentos que están en mi colección en MongoDB, pero no puedo descubrir cómo. He declarado mi ''colección'' como esta-

private static IMongoCollection<Project> SpeCollection = db.GetCollection<Project>("collection_Project");

Y seguí lo que se explica en this tutorial de MongoDB. Lo ajusté a mis necesidades, como ...

var documents = await SpeCollection.Find(new Project()).ToListAsync();

Sin embargo, sigo teniendo el siguiente error:

MongoDB.Driver.IMongoCollection no tiene una definición para ''Buscar'' y la mejor anulación del método de extensión [cosas superlong]. La búsqueda contiene argumentos no válidos.


Si quieres todos los documentos, ¿por qué no usar Find all ?

var documents = await SpeCollection.Find(new BsonDocument()).ToListAsync();


Usando la versión actual del controlador (v2.0), puede hacerlo pasando un filtro que coincida con todo:

var documents = await SpeCollection.Find(_ => true).ToListAsync();

También han agregado un filtro vacío ( FilterDefinition.Empty ) que llegará en la próxima versión del controlador (v2.1):

var documents = await SpeCollection.Find(Builders<Project>.Filter.Empty).ToListAsync();