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

Chuyển thông tin Loại cho MongoDB để nó có thể giải mã loại giao diện đúng cách?

Là kết quả của MyClass trỏ đến một loại giao diện, sau đó có thể chứa bất kỳ lớp nào 'Bson triển khai giao diện đó, chúng ta phải cho MongoDB biết loại lớp' có thể ở cuối (tất cả) giao diện đó. Sau đó, nó có thể suy ra từ các lớp mà nó biết cách giải mã BsonDocuments nhất định chứa những lớp 'Bson.

public interface IMyInterface
{
    String Name { get; set; }
}

public class MyIntImpl : IMyInterface
{
    public String Name { get; set; }
}

public class MyClass
{
    public IMyInterface IntRef { get; set; }

    public MyClass()
    {
        IntRef = new MyIntImpl();
    }
}

// When starting up MongoDB
private void RegisterClasses()
{
    BsonClassMap.RegisterClassMap<MyIntImpl>();
}

Bằng cách thêm lớp MyIntImpl đối với BsonClassMap, giờ đây nó biết cách giải mã hóa Bson khỏi loại lớp đó. Bạn chỉ cần đảm bảo rằng bạn giữ cho bản đồ chứa đầy các lớp triển khai các giao diện mà bạn có thể tuần tự hóa.

Một số liên kết tham khảo: Cấp cao đến cấp thấp tổng quan về tuần tự hóa C # MongoDB , một bài đăng SO phác thảo giải pháp.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mảng chỉ mục MongoDB như thế nào?

  2. Meteor mongodb $ inc với bản cập nhật

  3. mongodb kéo đối tượng từ một mảng không hoạt động bằng cách sử dụng mongoose

  4. Cài đặt Máy khách / Trình điều khiển PHP 7 MongoDB?

  5. Cách truy cập MongoDB