FindAll in MongoDB .NET Driver 2.0
You can't use Find
without a filter.
You can however use a filter that passes everything:
var findFluent = await _fooBarCollection.Find(_ => true);
Or you can use an empty document which is equivalent:
var findFluent = await _fooBarCollection.Find(new BsonDocument());
They have also added an empty filter but it will only be available in newer versions of the driver:
var findFluent = await _fooBarCollection.Find(Builders<FooBar>.Filter.Empty);
FindAll() is the part of MongoDB 1x series driver. to get the same functionality in 2x series driver use find() with empty BSON Document.
var list = await collection.Find(new BsonDocument()).ToListAsync();foreach (var dox in list){ Console.WriteLine(dox);}
It works for me
public class TestProductContext{ MongoClient _client; IMongoDatabase _db; public TestProductContext() { _client = new MongoClient("mongodb://localhost:27017"); _db = _client.GetDatabase("EmployeeDB"); } public IMongoCollection<Product> Products => _db.GetCollection<Product>("Products");}public class DataAccess{ private TestProductContext _testProductContext; public DataAccess(TestProductContext testProductContext) { _testProductContext = testProductContext; } public List<Product> GetProducts() { List<Product> pto = new List<Product>(); var cursor = _testProductContext.Products.Find(new BsonDocument()).ToCursor(); foreach (var document in cursor.ToEnumerable()) { pto.Add(document); } }}