Cara Menerapkan ODM (Object Document Management) Pada MongoDB

Barang kali disini ada yang sering menggunakan MySQL dalam meng-query atau mengambil data dari database dengan syntax seperti ini

Select * from students where (class = '11A' or class = '11B') and gender='M'

Ternyata kita bisa menggunakan syntax yang berbentuk object untuk mendapatkan query yang kita inginkan. Tanpa harus menggunakan syntax yang blibet seperti diatas

MongoDB adalah salah satu database berbasis object yang mendukung hal tersebut. Dikarenakan MongoDB adalah database yang setiap datanya berbasis object alias key dan value. Maka dalam mengambil data datanya pun semudah kita menggunakan data yang berbentuk object


Postingan kali ini akan membahas beberapa hal antara lain

  • Apa Itu MongoDB?
  • Apa Itu Mongoose?
  • Apa Itu ODM (Object Document Mapping) dan Penerapannya?
  • Perbedaan Antara ODM dan ORM?
  • Function MongoDB Yang Sering Digunakan Untuk CRUD

Apa Itu MongoDB?

MongoDB adalah database berbasis document-oriented. Artinya dalam database MongoDB segala data itu ditunjukkan sebagai object JSON bukan beberapa field ya
ng kita jumpai dalam MySQL (Sengaja saya kasih perbandingan terus supaya gampang difahami)

contoh file JSON yang diambil dari MongoDB

Akan tetapi untuk bisa mendapatkan data seperti ini kita perlu menerapkan sebuah metode yang berbeda dengan pengambilan data dari MySQL (ORM) yaitu ODM (Object Document Mapping). Penjelasan lebih lengkapnya bisa dibaca disini

Mongoose adalah tool yang memungkinkan kita melakukan hal demikian

Apa Itu Mongoose?

sesuai dengan defisini yang tertulis di website resminyaelegant mongodb object modeling for node.js

modelling object mongodb yang elegan

Well, definisi tersebut memang apa adanya. Kalo kalian mencoba mengambil object dengan MongoDB Client kalian dipusingkan dengan berbagai macam syntax yang jlimet
Contohnya seperti ini


Kita bisa menggunakan ODM untuk mempermudah memasukkan data, mengambil data, menghapus dan mengubah data. Dengan kode yang sederhana


Apa Itu ODM dan Bagaimana Cara Menggunakannya? Cara Menerapkannya?

ODM adalah teknik dimana kita mengambil data yang berbentuk JSON atau object. Katakan ODM ini merupakan ORM tapi data yang diambil adalah json atau object (key value) lahhh

Cara menggunakannya lumayan sederhana yaitu

  • Pastikan MongoDB Server sudah menyala (saya biasanya menggunakan Docker)
  • Buat file app.js (semacam file root yang menginisiai file lain)
  • Koneksikan Mongoose
  • Buat Schema (skema)
  • Buat router
Semua langkah diatas sudah saya terapkan ketika membuat aplikasi CRUD menggunakan MongoDB dan NodeJS. Bisa dilihat disini

Pertama kita harus tahu bagaimana cara kita mengambil dengan mongoose dan tanpa mongoose

Tanpa Mongoose


Pembahasan:

Tanpa mongoose atau teknik ODM kita harus menchaining response yang diberikan function collection. Ini sangat melelahkan apalagi kalo response yang dikembalikan sangat banyak

Dengan Mongoose dan teknikk ODM. (Sudah termasuk menggunakan route, dan model)



Pembahasan:

Dengan mongoose promise diterima dengan sistem async await dimana ia menjadikan konsep asyncronous terlebih syncronouos dan mudah dipahami. Mau seberapa banyak pun promise yang diterima, semuanya bisa ditangani dengan menambah code await
Function MongoDB yang biasanya digunakan untuk meng-query data data dari mongodb diterima sebagai promise

Perbedaan ODM dan ORM?

Perbedaan utama antara ODM dan ORM adalah ORM adalah teknik dimana kita mengambil data dari spreadsheet dimana dan field field layaknya Ms Excel sedangkan ODM adalah teknik yang persis seperti ORM namun bedanya dengan ODM kita tak perlu memikirikan harus menambahkan field apa saja seumpama ingin menambahkan data, dan lain sebagainya. Dengan kata lain, ODM adalah teknik dimana kita bisa memasukkan data apapun tanpa harus menambahkan skema

Penjelasan ini bisa dibaca dalam bahasa inggris lewat tulisan Juliana Tyler di Medium

Comments

Video Baru!