नए MongoDB ड्राइवर में, सब कुछ अब async विधियों पर आधारित है, इसलिए डेटा को क्वेरी करने के लिए पुराने तरीके अब लागू नहीं होते हैं।
मूल रूप से, आप एक खोज विधि के साथ एक MongoRepository वर्ग बनाना चाहते हैं, और उस भंडार में निम्न खोज विधि हो सकती है:
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();
}
}
इसके बाद इसे इस तरह लागू किया जा सकता है:
MongoRepository<Registration> repo = new MongoRepository("Registrations");
IList<Registration> registrations = repo.Find(i => i.SomeProperty == true);
एपीआई में परिवर्तन कैसे लागू किया जा सकता है, इस बारे में कुछ अच्छी जानकारी है:http://mongodb.github.io/mongo-csharp-driver/2.0/upgrading/