Trong Trình điều khiển MongoDB mới, toàn bộ nội dung hiện dựa trên các phương thức không đồng bộ, vì vậy các phương pháp cũ để truy vấn dữ liệu không còn được áp dụng nữa.
Về cơ bản, bạn sẽ muốn tạo một lớp MongoRepository, với phương thức find và kho lưu trữ đó có thể có phương thức Find sau:
public class MongoRepository<T>
{
protected IMongoCollection<T> _collection;
public MongoRepository(string collectionName)
{
// Get your mongo client and database objects here.
_collection = _mongoDb.GetCollection<T>(collectionName);
}
public async Task<IList<T>> Find(Expression<Func<T, bool>> query)
{
// Return the enumerable of the collection
return await _collection.Find<T>(query).ToListAsync();
}
}
Điều này sau đó có thể được triển khai như vậy:
MongoRepository<Registration> repo = new MongoRepository("Registrations");
IList<Registration> registrations = repo.Find(i => i.SomeProperty == true);
Có một số thông tin hữu ích về cách các thay đổi đối với API có thể được triển khai tại đây: http://mongodb.github.io/mongo-csharp-driver/2.0/upgrading/