MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

не може да преобразува от 'MongoDB.Driver.IMongoCollection<>' в 'System.Collections.Generic.IEnumerable<>'

В новия драйвер на MongoDB всичко вече се основава на асинхронни методи, така че старите методи за заявки за данни вече не се прилагат.

По принцип бихте искали да създадете клас 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);

Тук има добра информация за това как могат да бъдат приложени промените в API:http://mongodb.github.io/mongo-csharp-driver/2.0/upgrading/



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Изпълнение на db.repairDatabase() от mongodb-native в node.js

  2. Ръководство за Upsert в MongoDB

  3. изключване на полета в $lookup агрегиране

  4. MongoDB $sin

  5. Функциите на PyMongo за групово записване с генератори