sql >> Database teknologi >  >> NoSQL >> MongoDB

kan ikke konvertere fra 'MongoDB.Driver.IMongoCollection<>' til 'System.Collections.Generic.IEnumerable<>'

I den nye MongoDB Driver er det hele nu baseret på async-metoder, så de gamle metoder til at forespørge data gælder ikke længere.

Grundlæggende vil du gerne oprette en MongoRepository-klasse med en find-metode, og det depot kunne have følgende Find-metode:

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

}

Dette kunne så implementeres sådan:

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

Der er nogle gode oplysninger om, hvordan ændringerne til API'et kan implementeres her:http://mongodb.github.io/mongo-csharp-driver/2.0/upgrading/



  1. distinkt med flere felter og med hvor tilstand i mongodb

  2. Node.js multi-server klynge:hvordan man deler objekt i flere node klynge

  3. Sådan forbinder du Mongodb Atlas til Spring

  4. Databasesikkerhed 101:Forståelse af databaseadgangsprivilegier