MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

không thể chuyển đổi từ 'MongoDB.Driver.IMongoCollection <>' thành 'System.Collections.Generic.IEnumerable <>'

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/



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. giải thích () trong Mongodb:sự khác biệt giữa nscanned và nscannedObjects

  2. Ưu và nhược điểm của DynamoDB so với các cơ sở dữ liệu NoSQL khác là gì?

  3. Mongoose có cung cấp quyền truy cập vào giá trị trước đó của thuộc tính trong pre ('save') không?

  4. Cách lập trình phân tách trước một khóa phân đoạn dựa trên GUID với MongoDB

  5. Gọi hàm js máy chủ trên mongodb từ java