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();