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

MongoDb membuat serialisasi tipe generik (kelas)

Anda tentu saja dapat menyimpan semua dokumen Anda dalam satu koleksi, namun mungkin lebih mudah dan lebih bersih dalam jangka panjang untuk hanya menyimpan satu jenis dalam satu koleksi (dari perspektif C#). Anda dapat melakukannya dengan membuat kelas dengan Metode Ekstensi di MongoDatabase.

public static class MyDatabase
{
    public static MongoCollection<T> GetCollection<T>(this MongoDatabase db)
    {
        var name = typeof(T).Name;
        return db.GetCollection<T>(name);
    }
}

Kemudian Anda bisa memanggil GetCollection dengan tipe Anda di atasnya dan namanya akan disembunyikan dari kode umum Anda. Anda juga dapat membuat sesuatu seperti ini untuk mengabstraksikan hal-hal sedikit lebih jauh:

public class MyDatabase
{
    private MongoDatabase _db;

    public MyDatabase(MongoDatabase db)
    {
        _db = db;
    }

    public MongoCollection<object> Objects
    {
        get
        {
            return _db.GetCollection<object>();
        }
    }
}

Dengan ini Anda hanya dapat melakukan

var client = new MongoClient();
var server = client.GetServer();
var db = server.GetDatabase("MyDb");
var myDb = new MyDatabase(db);
myDb.Objects.Find();

Find . ini akan dipetakan untuk dieksekusi terhadap Objects koleksi, cukup ganti <object> dengan tipe Anda dan beri nama koleksi tersebut.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Salin/Klon Database di MongoDB

  2. Gunakan server MongoDB tiruan untuk pengujian unit

  3. Pekerjaan apa pun dengan kunci Mongodb tidak dapat berisi file . atau $?

  4. Cara memperbarui bidang objek dalam array dengan Mongoose

  5. Mengapa saya mendapatkan pengecualian InvalidDocument saat menyimpan objek ke MongoDB di Django untuk pertama kalinya?