MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

tidak dapat mengonversi dari 'MongoDB.Driver.IMongoCollection<>' ke 'System.Collections.Generic.IEnumerable<>'

Di Driver MongoDB baru, semuanya sekarang didasarkan pada metode async, sehingga metode lama untuk meminta data tidak lagi berlaku.

Pada dasarnya, Anda ingin membuat kelas MongoRepository, dengan metode find, dan repositori tersebut dapat memiliki metode Find berikut:

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

}

Ini kemudian dapat diimplementasikan seperti ini:

MongoRepository<Registration> repo = new MongoRepository("Registrations");
IList<Registration> registrations = repo.Find(i => i.SomeProperty == true);

Ada beberapa informasi bagus tentang bagaimana perubahan pada API dapat diterapkan di sini:http://mongodb.github.io/mongo-csharp-driver/2.0/upgrade/



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Persyaratan untuk menggunakan transaksi MongoDB

  2. MongoDB $lookup Objectid mendapatkan array kosong?

  3. Bagaimana cara mengaktifkan profil di node-mongodb-native?

  4. Spring HATEOAS RepresentationModel, Tidak dapat mengatur tautan properti karena tidak ada penyetel, tidak layu dan itu bukan bagian dari konstruktor ketekunan

  5. Dapatkan hitungan Bidang di setiap dokumen melalui kueri menggunakan driver Java MongoDB