Pertama, mereka bukan ORM (karena mereka tidak memiliki hubungan di antara mereka), mereka adalah ODM (Pemeta Dokumen Objek)
Penggunaan utama kerangka kerja ODM ini di sini sama dengan beberapa fitur umum ORM, jadi
- menyediakan abstraksi atas model data Anda. Anda dapat membuat data Anda dimodelkan dalam aplikasi Anda terlepas dari perangkat lunak target.
- Sebagian besar ODM dibangun untuk memanfaatkan fitur bahasa yang ada dan menggunakan pola yang sudah dikenal untuk memanipulasi data, bukan untuk mempelajari sintaks bahasa baru dari perangkat lunak baru.
Ketika saya menggunakan mongoid (Ruby ODM untuk mongo), saya dapat menanyakan mongo seperti yang saya lakukan dalam model aktif (kebanyakan).
Karena mereka tidak memiliki hubungan di antara mereka, ODM ini menyediakan cara untuk mendefinisikan hubungan dalam model Anda dan mensimulasikan hubungan. Ini semua diabstraksikan dari pengembang sehingga mereka dapat membuat kode dengan cara yang sama seperti yang mereka lakukan dengan data relasional.